3

首先,我在当前的 application.conf 中设置的相关配置,实际上在Play 的 Java/Scala Ebean 文档中几乎定义了:

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
db.default.user="sa"
db.default.password=""
ebean.default="models.*"

我正在运行 Play Framework 2.0.4

在玩过 Play 之后,我为我的示例应用程序编写了几个集成测试。找到了这个关于如何使用 Ebean 为我的模型生成 ddl 代码的好例子,并决定试一试,但似乎我的 Ebean 配置缺少一些东西。

我的代码几乎遵循上面的示例,但它是 Scala:

def setUp = {
    val server = Ebean.getServer("default")
    ...
    val ddl = new DdlGenerator(server.asInstaceOf[SpiEbeanServer], new H2Platform, config)
    ...
}

调用Ebean.getServer("default")会引发此异常: Could not create an instance of MyClassSpec caused by java.lang.RuntimeException: DataSource user is null?

嗯,也许我错了,但我相信 db.default.* 属性已经设置了 Ebean 需要的任何东西。

我在我的应用程序和 Ebean 中也引用了相同的数据源名称(“默认”),并且我的测试代码是在running(FakeApplication(additionalConfiguration = inMemoryDatabase("default")))代码块中定义的。

还有什么要配置的吗?谢谢!

4

1 回答 1

1

好吧,我使它与 ebean.properties 文件一起使用,如此处所述

datasource.default=default

datasource.default.username=sa  
datasource.default.password=  
datasource.default.databaseUrl=jdbc:h2:mem:tests;DB_CLOSE_DELAY=-1  
datasource.default.databaseDriver=org.h2.Driver  
datasource.default.minConnections=1  
datasource.default.maxConnections=25  
datasource.default.heartbeatsql=select 1  
datasource.default.isolationlevel=read_committed  

所以我的数据库(ebean)相关配置设置在另一个文件中,实际上需要ebeans.default="models.*"在 application.conf 和ebeanEnabled := trueBuild.scala 中定义

希望它也可以帮助某人!

于 2012-11-06T00:35:30.703 回答