ColumnDef
Материал из DevelopmenOnTheEdge
								Версия от 14:05, 22 октября 2015; Lan  (обсуждение | вклад)
- Класс
 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: