如何为play项目配置多个datasource / ebean

时间:2015-06-19 07:06:49

标签: playframework

我的游戏项目是使用play framework 2.4创建的。我想为它配置两个数据流,一个用于测试目的,一个用于生产。

测试数据源

db.test.driver=org.h2.Driver<br>
db.test.url="jdbc:h2:mem:test;MODE=MYSQL;MVCC=false;DB_CLOSE_DELAY=-1"

生产数据源

  db.mysql.driver=com.mysql.jdbc.Driver
  db.mysql.url="jdbc:mysql://127.0.0.1:3306/db"
  db.mysql.user=root
  db.mysql.password=root

我还为这两个数据源配置了Ebean服务器,并将默认的Ebean数据源设置为'test'。

   ebean.test=["xx.*"]
   ebean.mysql=["xx.*"]
   ebeanconfig.datasource.default=test

但是当我运行我的单元测试(激活测试)时,出现了错误:

  

[PersistenceException:默认的EbeanServer尚未定义?这通常通过ebean.datasource.default属性设置。   否则,它应该以编程方式注册   registerServer()]

我还尝试使用属性 ebean.datasource.default = test 来设置默认的Ebean数据源,但仍然失败。

我的配置错误是什么?我真的很挣扎......

3 个答案:

答案 0 :(得分:5)

Change the property ebean.datasource.default to play.ebean.defaultDatasource, to set/override the default ebean datasource. I made a pull request in the java documentation part ;)

答案 1 :(得分:0)

您可以使用不同的模式运行您的播放应用程序,以获得开发,登台和生产环境,例如 - play -Dmode = dev / staging / prod run

答案 2 :(得分:0)

最后,我有两个conf文件,一个配置了'test'数据源,另一个文件配置了“production”源。并使用指定的-Dconfig.file参数运行它们。