3.3.2.1. 对其它 DBMS 的支持
在应用程序项目中,可以使用ORM框架(EclipseLink)支持的任何 DBMS。请按照以下步骤操作:
在 cuba.dbmsType 属性中以任意形式代码的指定数据库的类型。代码必须与平台中使用的代码不同:
hsql
、postgres
、mssql
、oracle
。实现
DbmsFeatures
、SequenceSupport
、DbTypeConverter
接口,实现类用以下格式命名:<Type>DbmsFeatures
、<Type>SequenceSupport
和<Type>DbTypeConverter
,其中Type
是 DBMS 类型代码。实现类的包必须与接口的包相同。如果在应用程序中配置了数据源,按照 连接至数据库 章节的介绍和要求的格式配置连接 URL 的全路径。
在以 DBMS 类型代码命名的目录中创建数据库初始化和更新脚本。初始化脚本必须创建平台实体所需的所有数据库对象(可以从现有的
10-cuba
等目录中复制并修改这些脚本,使其适用于新的 DBMS 类型)。要通过 Gradle 任务创建和更新数据库,需要在
build.gradle
中为这些任务指定额外的参数:task createDb(dependsOn: assemble, type: CubaDbCreation) {
dbms = 'my' // DBMS code
driver = 'net.my.jdbc.Driver' // JDBC driver class
dbUrl = 'jdbc:my:myserver://192.168.47.45/mydb' // Database URL
masterUrl = 'jdbc:my:myserver://192.168.47.45/master' // URL of a master DB to connect to for creating the application DB
dropDbSql = 'drop database mydb;' // Drop database statement
createDbSql = 'create database mydb;' // Create database statement
timeStampType = 'datetime' // Date and time datatype - needed for SYS_DB_CHANGELOG table creation
dbUser = 'sa'
dbPassword = 'saPass1'
}
task updateDb(dependsOn: assemble, type: CubaDbUpdate) {
dbms = 'my' // DBMS code
driver = 'net.my.jdbc.Driver' // JDBC driver class
dbUrl = 'jdbc:my:myserver://192.168.47.45/mydb' // Database URL
dbUser = 'sa'
dbPassword = 'saPass1'
}