IndexDef
- Класс
IndexDef
- Поддерживает документацию
- да
- Поддерживает extras
- да
Индекс (IndexDef) — это определение индекса для таблицы в базе данных. Элементы IndexDef расположены внутри определения таблицы в папке Indices. У индекса есть имя, признак уникальности (unique) и набор колонок (как минимум одна), которые отображаются в дереве проекта как дочерние элементы.
Длина имени индекса ограничена 30 символами, но обратите внимание, что в DB2 не удастся создать индекс с именем длиннее 18 символов. Также обратите внимание, что не все СУБД поддерживают функциональные индексы (смотрите определение колонки индекса).
Любые изменения индексов (включая удаление) считаются неопасными, поэтому выполняются без предупреждения при синхронизации со структурой. Любое изменение индекса при синхронизации приведёт к его уничтожению и повторному созданию.
Определения индексов записывается в yaml-файле представления в секции indices внутри секции scheme. Примеры:
buildings: scheme: ... indices: - IDX_BUID_ID_KLADRCODE: unique: true columns: - ID - kladrStreetCode extras: kladr - IDX_BUILD_KLADR: columns: kladrStreetCode extras: kladr doc: значения могут быть не уникальны - IDX_BUILDINGS_NWK: unique: true columns: - buildingNo - lower(wing) - lower(letters) - kladrStreetCode extras: kladr doc: функциональный индекс с уникальными значениями