SQL Server
SQL Serverではsqlserver17
を使用するか、既定の古いものを使用するかを決定する必要があります。
sqlserver17
sqlserver17を使用するように設定するには、ebean.databasePlatformName
>レベルまたはebean.test.sqlserver.databasePlatformName
>レベルでdatabasePlatformName
をsqlserver17に設定する必要があります。
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
複数のデータベースプラットフォームに対してテストを行う場合は、次のような例に従って、sqlserver
の下にdatabasePlatformName: sqlserver17
を配置します。
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://:{port};databaseName={databaseName} |
ドライバ | com.microsoft.sqlserver.jdbc.SQLServerDriver |
イメージ | microsoft/mssql-server-linux:{version} |
ebean-sqlserverの依存関係
SqlServerに固有のプラットフォームコードのみを取り込む場合には、io.ebean:ebean
ではなく、io.ebean:ebean-sqlserver
の依存関係を使用できます。io.ebean:ebean
に依存すると、すべてのプラットフォームが取り込まれます。
Dockerコンテナ
DockerコンテナバージョンのSqlServerをプログラムで開始できます。
以下では、ebean-test
にすでに付属しているebean-test-docker
の依存関係を使用しています。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();
}
}