NuoDB
测试
若要针对 NuoDB docker 测试容器进行测试,请在 src/test/resources/application-test.yaml
中将 platform 设置为 postgres
如果 application-test.yaml 尚未存在,请参阅 文档 / 测试。
ebean:
test:
platform: nuodb # h2, nuodb, postgres, ...
ddlMode: dropCreate # none | dropCreate | migrations
dbName: my_app
ebean-nuodb 依赖项
如果我们只想引入 NuoDB 特定的平台代码,则可以使用 io.ebean:ebean-nuodb
依赖项,而不是 io.ebean:ebean
。依赖于 io.ebean:ebean
将引入所有平台。
类型
UUID
NuoDB 没有本机 UUID 类型。相反,这将根据 PlatformConfig.DbUuid 的设置映射到数据库 binary(16) 或 varchar(40)。
数组类型
NuoDB 没有数组类型,而是模拟这些类型。
JSON
带有 @DbJson
和 @DbJsonB
的属性映射到数据库 varchar 或 clob。
历史支持
通过生成触发器和历史表提供对 NuoDB 的历史支持。
表分区
NuoDB 支持表分区,但 Ebean 还不支持(通过 @DbPartition)。
Docker 容器
我们可以以编程方式启动 NuoDB 的 docker 容器版本。
以下使用 ebean-test-docker
依赖项,该依赖项已随附 ebean-test
。如果我们没有对 ebean-test
的依赖项,则添加 io.ebean:ebean-test-docker:5.0
作为依赖项。
package main;
import io.ebean.docker.commands.NuoDBContainer;
public class Main {
public static void main(String[] args) {
NuoDBContainer container = NuoDBContainer.newBuilder("4.0")
.schema("my_app")
.user("my_app")
.password("test")
.build();
container.start();
}
}