Узел: dbm
Настройки для модуля dbm
Узел: dbm/registermodel , тип: list
Список зарегистрированных моделей
Узел: dbm/registermodel/MODEL-NAME
Регистрация модели, указанной в атрибуте model с именем MODEL-NAME
Узел: model , тип: list
Описание моделей.
Узел: model/MODEL-NAME
Описание модели
Узел: model/MODEL-NAME/field
Поля модели
Узел: model/MODEL-NAME/field/FIELD-NAME
Поле модели
Атрибут: model/MODEL-NAME/field/FIELD-NAME:db.refcascade, тип: bool
При значении true для поля необходимо генерировать в базе данных
какскадную ссылку. Обычно указывается для ref поля.
<root>
<domain name="MyTable" parent="id" tag.db="true">
<ref db.refcascade="true"/>
</domain>
</root>
Узел: model/MODEL-NAME/field/FIELD-NAME/validator
Валидаторы поля
Узел: model/MODEL-NAME/field/FIELD-NAME/validator/VALIDATOR-NAME
Валидатор поля. См. <validator>.
Узел: model/MODEL-NAME/domain
Домены модели
Узел: model/MODEL-NAME/domain/DOMAIN-NAME
Домен модели
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME:abstract, тип: bool
Признак того, что домен абстрактный. Такой домен не включается в модель. Используется как базовый предок. Атрибут не наследуется.
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME:tag.db, тип: bool
Признак того, что домен является описанием физической таблицы в базе данных. Атрибут не наследуется.
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME:tag.dbview, тип: bool
Признак того, что домен является описанием физического view в базе данных.
Если атрибут указан, то атрибут tag.db проставляется автоматически.
Текст sql для view должен быть в узле ddl/view. Атрибут не наследуется.
Пример:
<domain name="View1" parent="id" tag.dbview="true">
<ddl name="view">
create view View1 as select * from Tab1
</ddl>
</domain>
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME:tag.dao, тип: bool
Признак того, что домен содержит в себе dao-объекты. Если у домена имеются личные dao, то атрибут ставится автоматически. Атрибут не наследуется.
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME:tag.dict, тип: bool
Признак того, что домен является описанием словаря.
Атрибуты словаря указываются в дочернем элементе dict.
Атрибут не наследуется.
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME:tablename, тип: string
Имя физической таблицы в базе данных для домена.
Если у домена есть атрибут tag.db или tag.dbview,
то значение атрибута автоматически устанавливается в
имя домена.
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME:db.genidstart, тип: long
С какого числа начинать генерацию id. Этим числом инициализируется генератор
id при создании базы данных. По умолчанию 1000.
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/ref
В этом узле описываются свойства поля, которое является
ссылкой на этот домен. Все что можно указать для model/MODEL-NAME/field/FIELD-NAME,
можно указывать и тут. Что бы поле было унаследовано от этого узла,
нужно указывать для него parent DOMAIN-NAME/ref.
Пример:
<domain name="Tree1" parent="dbtable" tag.db="true">
<ref title="Ссылка на узел дерева"/>
<field name="name" parent="string" size="30"/>
<field name="parent" parent="Tree1/ref"/>
</domain>
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/validator
Валидаторы домена
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/validator/VALIDATOR-NAME
Валидатор. Можно не указывать parent, тогда в качестве
parent возмется имя валидатора, например:
<domain name="Domain1" parent="dbtable">
<validator name="record"/>
</domain>
соответствует:
<domain name="Domain1" parent="dbtable">
<validator name="record" parent="record"/>
</domain>
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/dataloader
Загрузчики данных.
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/dataloader/DATALOADER-NAME
Загрузчик данных
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME/dataloader/DATALOADER-NAME:dbdata, тип: string
Тип загрузчика. Значением может быть:
prod- данные таблицы в базе по умолчаниюtest- тестовые данные таблицы в базе- любое другое - для каких-то других целей
По умолчанию значение не установлено
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/dbindex
Описание db-индексов для генерации базы данных
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/dbindex/DBINDEX-NAME
Индекс таблицы для базы данных. Имя узла используется для генерации имени индекса.
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME/dbindex/DBINDEX-NAME:fields, тип: string
Список полей (через ','), из которых состоит индекс.
Если имя поля начинается с символа „*“, то это означает, что сортировать
это поле нужно в обратном порядке (по убыванию).
<root>
<domain name="MyTable" parent="id" tag.db="true">
<field name="name" parent="string" size="20"/>
<field name="dt" parent="date" />
<dbindex name="myindex1" fields="name,*dt" unique="true"/>
<dbindex name="myindex2" fields="dt"/>
</domain>
</root>
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME/dbindex/DBINDEX-NAME:unique, тип: bool
Признак уникального индекса. По умолчанию false.
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/ddl
Поименнованые ddl-опрераторы.
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/ddl/DDL-NAME
ddl оператор
<root>
<domain name="MyTable" parent="id" tag.db="true">
<field name="name" parent="string" size="20"/>
<field name="dt" parent="date" />
<ddl name="myddl1" type="create">
alter table my1 add _logfield varchar(20)
</ddl>
<ddl name="myddl2" type="create">
alter table my1 add _logfield2 varchar(20)
</ddl>
</domain>
</root>
Атрибут: model/MODEL-NAME/domain/DOMAIN-NAME/ddl/DDL-NAME:type, тип: string
Если оператор имеет атрибут type="create" (значение по умолчанию),
то эти операторы попадают в сгенерированный sql для создания базы данных.
Узел: model/MODEL-NAME/db
Базы данных, связанные с моделью. Обычно в модели
одна база данных и она имеет имя default.
Узел: model/MODEL-NAME/db/DB-NAME
База данных связанная с моделью.
Атрибут: model/MODEL-NAME/db/DB-NAME:dbdriver, тип: string
Имя драйвера базы данных. Драйвера описываются в /dbdriver/DBDRIVER-NAME.
Атрибут: model/MODEL-NAME/db/DB-NAME:jdbcDriverClass, тип: string
Имя класса jdbc-драйвера. Обычно не нужно его указывать, т.к. используется
класс из dbdriver.
Атрибут: model/MODEL-NAME/db/DB-NAME:username, тип: string
Имя пользователя базы данных для коннекта.
Атрибут: model/MODEL-NAME/db/DB-NAME:password, тип: string
Пароль пользователя базы данных для коннекта.
Атрибут: model/MODEL-NAME/db/DB-NAME:url, тип: string
Строка соединения. Можно использовать подстановки ${property}
(например '${username}'). В качестве property можно использовать
любые атрибуты из узла db.
Обычно url явно не указывается, а берется из dbdriver.
Атрибут: model/MODEL-NAME/db/DB-NAME:conn.XXX, тип: string
Свойства соединения. В таких атрибутах отбрасывается префикс conn. и остаток
используется как имя свойства соединения. Зависит от драйвера.
Атрибут: model/MODEL-NAME/db/DB-NAME:config.path, тип: string
Путь rt, относительно корня конфигурации приложения, откуда будут браться
дополнительные свойства базы данных. Эти данные перекроют те, которые
указаны в узле db/DB-NAME модели.
Используется для выноса конфигурации в более приемлемое место для конечного пользователя.
Если не установлено, то по умолчанию принимается равным db/MODEL-NAME.