Extras
Материал из DevelopmenOnTheEdge
								
												
				Extras — способ задания условий, по которым данный элемент проекта будет использоваться. На данный момент поддерживается для следующих типов элементов:
- Сущность (entity)
 - Представление (query)
 - Операция (operation)
 - Определение колонки (columnDef)
 - Определение индекса (indexDef)
 - Роль (role)
 - Демон (daemon)
 - Ссылка на другую колонку (tableRef)
 
Extras — набор текстовых строк, представляющих собой условия. Если строк несколько, требуется соблюдение всех условий сразу.
Каждая строка имеет следующий формат:
[!]<prefix>:<value>
Восклицательный знак означает отрицание (элемент доступен в случае, если условие не выполнено). Определены следующие префиксы:
- db — используется ли данный движок СУБД. Возможные значения value: db2, mysql, oracle, sqlserver, postgres
 -  dbcap — обладает ли движок СУБД определённой функциональностью. На данный момент возможны следующие значения:
- fnindex — поддерживаются ли функциональные индексы
 - customincrement — поддерживается ли создание autoincrement-колонки, начинающейся с определённого значения
 - gencolumn — поддерживаются ли вычислимые колонки. Если да, можно использовать в качестве default value колонки что-то типа generic(ID)
 
 - module — присутствует ли в проекте модуль с данным именем.
 - feature — подключена ли указанная фича.
 -  extra — доступен ли указанный extras в указанном модуле (формат: 
extra:moduleName::extraName). Может потребоваться, если надо проверить extras, объявленный для другого модуля. -  var — определена ли указанная переменная или равна ли она заданному значению. К примеру 
var:REGION=54выполняется, если определена переменная REGION и её значение — 54. 
Также в модулях в качестве extras может встречаться просто строка. Если та же строка определена в проекте приложения в секции данного модуля, то этот extras выполняется.