4.3.4.5. createDb
createDb
- задача типа CubaDbCreation
, создающая базу данных приложения путем выполнения соответствующих скриптов. Объявляется в модуле core
.
Если источник данных сконфигурирован свойствами приложения, то параметры, описанные ниже, автоматически получаются из свойств приложения, поэтому определение задачи может быть пустым:
task createDb(dependsOn: assemble, description: 'Creates local database', type: CubaDbCreation) {
}
Следующие параметры могут быть заданы явно:
-
storeName
- имя дополнительного хранилища данных. Если не указано, то задача выполняет скрипты основного хранилища. -
dbms
- тип СУБД, задаваемый в виде строкиhsql
,postgres
,mssql
, илиoracle
. -
dbName
- имя базы данных. -
dbUser
- имя пользователя СУБД. -
dbPassword
- пароль пользователя СУБД. -
host
- хост и, опционально, порт СУБД в форматеhost[:port]
. Если не задан, используетсяlocalhost
. -
connectionParams
- опциональная строка параметров которая будет добавлена в конец URL подключения. -
masterUrl
- URL для подключения при создании БД. Если не задан, используется значение по умолчанию, зависящее от типа СУБД и параметраhost
. -
dropDbSql
- команда SQL для удаления БД. Если не задана, используется значение по умолчанию, зависящее от типа СУБД. -
createDbSql
- команда SQL для создания БД. Если не задана, используется значение по умолчанию, зависящее от типа СУБД. -
driverClasspath
- список JAR файлов, содержащих JDBC драйвер. Элементы списка разделяются символом ":" на Linux и символом ";" на Windows. Если не задан, используются зависимости, входящие в конфигурациюjdbc
данного модуля. Явное заданиеdriverClasspath
актуально при использовании Oracle, т.к. его JDBC драйвер не присутствует в зависимостях. -
oracleSystemPassword
- при использовании Oracle пароль пользователя SYSTEM.Пример для PostgreSQL:
task createDb(dependsOn: assemble, description: 'Creates local database', type: CubaDbCreation) { dbms = 'postgres' dbName = 'sales' dbUser = 'cuba' dbPassword = 'cuba' }
Пример для MS SQL Server:
task createDb(dependsOn: assemble, description: 'Creates local database', type: CubaDbCreation) { dbms = 'mssql' dbName = 'sales' dbUser = 'sa' dbPassword = 'saPass1' connectionParams = ';instance=myinstance' }
Пример для Oracle:
task createDb(dependsOn: assemble, description: 'Creates database', type: CubaDbCreation) { dbms = 'oracle' host = '192.168.1.10' dbName = 'orcl' dbUser = 'sales' dbPassword = 'sales' oracleSystemPassword = 'manager' driverClasspath = "$tomcatDir/lib/ojdbc6.jar" }