Конфигурация индексов

36
публикации

Как задать индексы в конфиге

{
    "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.

Tags
#archive 61 #capsulecms 30 #featurerequest 26 #linux 22 #php 13 #windows 12 #eclipse 8 #phpstorm 8 #nginx 5 #bug 5 #oldsite 4 #font 4 #SEO 3 #antipattern 2 #quotes 2 #mvc 2 #nano 2 #foobar 1 #apache 1 #git 1 #pidgin 1 #curl 1 #datetimepicker 1 #rsync 1 #bootstrap 1 #cmd 1 #iconv 1 #cms 1 #skype 1 #pdf 1 #algorithm 1 #composer 1 #copypaste 1 #sourcetree 1 #singleton 1 #mysql 1 #meld 1 #pattern 1 #postgresql 1 #debian 1 #ideas 1 #strtok 1 #qt 1 #capsulecmsv1 1 #netbeans 1 #iosevka 1 #puntoswitcher 1 #movie 1 #mariadb 1