Как задать индексы в конфиге
{
"title": "Пользоатель системы",
"properties": {
...
},
"table": {
"columns": {
...
},
"indexes": {
"primaryKey": {
"type": "primaryKey",
"fields": {
"id": [
]
}
},
"login": {
"type": "unique",
"fields": {
"login": {
"length": 255,
"order": "asc|desc",
"position": 1000
}
}
}
},
"name": "capsule_user"
}
}
Параметр type определяет тип индекса.
Определение типов:
"type": "значение" необязательный атрибут
/^primary/i - PRIMARY KEY
/^unique/i - UNIQUE KEY
/^fulltext/i - FULLTEXT KEY
Значение по умолчанию KEY, его указывать не нужно.
"order": "asc|desc" не поддерживается в MySQL
Порядок полей в индексе определяется их взаиморасположением в конфиге.
"position": INT принудительно задать порядок полей в индексе
Имя индекса это ключ объекта indexes
Если тип индекса /^primary/i - PRIMARY KEY, то имя индекса игнорируется.
Чтобы убрать индекс или поле из индекса, необходимо задать ему значение null.