相关疑难解决方法(0)

如何在play 2.0的几个环境中管理application.conf?

使用Play 1.2,我可以使用框架ID或应用程序模式为配置键添加前缀,如下所示:

# Production configuration
%prod.http.port=80
%prod.application.log=INFO
%prod.application.mode=prod
Run Code Online (Sandbox Code Playgroud)

但它似乎不适用于2.0.

有没有办法使它工作?

playframework-2.0

22
推荐指数
3
解决办法
2万
查看次数

如何在Play 2.0中为每个环境设置不同的数据库?

我希望我的Play应用程序使用不同的数据库进行测试,本地和生产(生产是Heroku)环境.

application.conf我有:

db.default.driver=org.postgresql.Driver 

%dev.db.default.url="jdbc:postgresql://localhost/foobar" 
%test.db.default.url="jdbc:postgresql://localhost/foobar-test" 
%prod.db.default.url=${DATABASE_URL} 
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.当我运行play testplay run所有数据库访问失败时:

 Configuration error [Missing configuration [db.default.url]] (Configuration.scala:258) 
Run Code Online (Sandbox Code Playgroud)

我有几个问题:

  • 在一般情况下,我有点困惑的数据库是如何在游戏配置:它看起来像有平原db,db.[DBNAME]db. [DBNAME].url与不同的教程让那些之间不同的选择.某些表达式似乎应该可以正常工作(例如db.default.url = "jdbc:...",在预期对象的位置提供字符串的错误时失败).

  • 我见过其他人认为我创建单独的prod.conf,dev.conftest.conf文件均包括application.conf然后包含特定DB-配置.但在这种情况下,如何指定test从Play控制台运行时要使用的数据库?

  • %env语法是否适用于Play 2?

  • 指定play test要使用的环境的正确方法是什么?

database configuration scala playframework playframework-2.0

22
推荐指数
2
解决办法
1万
查看次数