SQL Server
对于 SQL Server,我们必须决定是使用 sqlserver17
还是使用默认的较旧版本。
sqlserver17
要设置以使用 sqlserver17,我们应该将 databasePlatformName
设置为 sqlserver17,在 ebean.databasePlatformName
> 级别或 ebean.test.sqlserver.databasePlatformName
> 级别。
ebean:
databasePlatformName: sqlserver17 ## only using sql server
test:
platform: sqlserver # h2, postgres, mysql, oracle, sqlserver
ddlMode: dropCreate # none | dropCreate | migrations
dbName: test
sqlserver:
#collation: SQL_Latin1_General_CP1_CS_AS ## use an explicit collation
#collation: default ## use the sql server default
在针对多个数据库平台进行测试时,将 databasePlatformName: sqlserver17
放在 sqlserver
下,如下面的示例所示
ebean:
test:
platform: sqlserver # h2, postgres, mysql, oracle, sqlserver
ddlMode: dropCreate # none | dropCreate | migrations | create
dbName: test
sqlserver:
databasePlatformName: sqlserver17 ## put here when testing multiple platforms
#collation: SQL_Latin1_General_CP1_CS_AS ## use an explicit collation
#collation: default ## use the sql server default
上述内容将使用以下默认值
用户名 | {databaseName} |
---|---|
密码 | SqlS3rv#r |
端口 | 1433 |
URL | jdbc:sqlserver://localhost:{port};databaseName={databaseName} |
驱动程序 | com.microsoft.sqlserver.jdbc.SQLServerDriver |
镜像 | microsoft/mssql-server-linux:{version} |
ebean-sqlserver 依赖项
如果我们只想引入 SqlServer 特定的平台代码,我们可以使用 io.ebean:ebean-sqlserver
依赖项,而不是 io.ebean:ebean
。依赖于 io.ebean:ebean
将引入所有平台。
Docker 容器
我们可以以编程方式启动 SqlServer 的 docker 容器版本。
下面使用 ebean-test-docker
依赖项,该依赖项已随附 ebean-test
。如果我们不依赖于 ebean-test
,则添加 io.ebean:ebean-test-docker:5.0
作为依赖项。
package main;
import io.ebean.docker.commands.SqlServerContainer;
public class Main {
public static void main(String[] args) {
SqlServerContainer container = SqlServerContainer.newBuilder("2019-CU15-ubuntu-20.04")
.dbName("my_app")
.collation("SQL_Latin1_General_CP1_CS_AS")
// .containerName("ut_sqlserver")
// .port(1433)
.build();
container.start();
}
}