ColumnDef — различия между версиями
Материал из DevelopmenOnTheEdge
Lan (обсуждение | вклад) (Новая страница: «{{ElementType|com.beanexplorer.enterprise.metadata.model.ColumnDef|да|да}} '''Определение колонки''' (ColumnDef) — это модельн…») |
Lan (обсуждение | вклад) м (→Примеры YAML) |
||
Строка 28: | Строка 28: | ||
- type: | - type: | ||
type: ENUM('import','export') | type: ENUM('import','export') | ||
− | defaultValue: '''import''' | + | defaultValue: <nowiki>'''import'''</nowiki> |
Колонка с датой и значением по умолчанию — текущая дата: | Колонка с датой и значением по умолчанию — текущая дата: | ||
Строка 44: | Строка 44: | ||
Колонка-ссылка на первичный ключ другой таблицы: | Колонка-ссылка на первичный ключ другой таблицы: | ||
− | + | - companyID: | |
− | + | reference: companies | |
Колонка-ссылка с явным указанием selection view: | Колонка-ссылка с явным указанием selection view: | ||
Строка 62: | Строка 62: | ||
- companies | - companies | ||
- persons | - persons | ||
− | view: '' | + | view: <nowiki>''</nowiki> |
Текущая версия на 14:08, 22 октября 2015
- Класс
ColumnDef
- Поддерживает документацию
- да
- Поддерживает extras
- да
Определение колонки (ColumnDef) — это модельный объект, соответствующий колонке в базе данных. Обладает следующими свойствами:
- name — имя колонки. В некоторых движках регистр имеет значение, в некоторых нет. Две колонки не могут отличаться только регистром.
- type — тип колонки.
- canBeNull — логическое значение, может ли колонка хранить NULL-значения (по умолчанию — нет).
- primaryKey — логическое значение, является ли колонка первичным ключом.
- oldNames — список старых имён колонки. Если колонка когда-то была переименована, разумно указать здесь старое имя. Тогда при обновлении DDL BeanExplorer сгенерирует запрос на переименование колонки без потери данных. Если старое имя не указать, то старая колонка будет удалена и создана новая, что может привести к потере данных.
- defaultValue — значение по умолчанию.
- reference — ссылка, если колонка является ссылкой на ключ в другой таблице:
- Либо просто имя целевой таблицы (ссылка на первичный ключ). Не рекомендуется использовать при ссылках на таблицы, определённые в m4!
- Либо
<имя таблицы>.<имя колонки>
: явное задание целевой колонки - Либо список таблиц для generic-ссылки.
- Либо совокупность двух полей: to — сама ссылка (с указанием колонки или нет), view — имя selection view.
- Для колонки-ссылки можно не указывать тип, если целевая таблица определена в be4-проекте, либо это generic-ссылка. В таких случаях тип колонки будет определён автоматически.
Примеры YAML
Текстовая колонка длиной до 30 символов, являющаяся первичным ключом:
- CODE: type: VARCHAR(30) primaryKey: true
Колонка перечислимого типа со значением по умолчанию (обратите внимание, надо брать значение по умолчанию в тройные кавычки):
- type: type: ENUM('import','export') defaultValue: '''import'''
Колонка с датой и значением по умолчанию — текущая дата:
- purchaseDate: type: DATE defaultValue: NOW()
Текстовая колонка максимальной длины 255 символов, допускающая значения NULL:
- comments: type: VARCHAR(255) canBeNull: true
Колонка-ссылка на первичный ключ другой таблицы:
- companyID: reference: companies
Колонка-ссылка с явным указанием selection view:
- munCode: reference: to: munExchangeTypes.munCode view: 'MunCode view'
Колонка с generic-ссылкой и документацией:
- ownerID: doc: владелец счета reference: to: - companies - persons view: ''