目前使用playframework 2.0.2并在我的application.conf中设置数据库连接信息
db.default.url="jdbc:mysql://localhost:3306/test"
db.default.driver=com.mysql.jdbc.Driver
db.default.user=test
db.default.pass=test
但我想知道的是当我使用“play clean update dist”将我的应用程序投入生产时 然后在现场安装它没有application.conf。这意味着我必须在分发代码之前更改数据库连接?有没有办法在分发后更改配置文件中的数据库连接?
答案 0 :(得分:8)
当您使用play dist
时,配置文件将被打包到zip中的jar文件中。您可以创建一个包含以下内容的conf/prod.conf
文件:
include "application.conf"
db.default.url="jdbc:mysql://foo.com:3306/mydb"
db.default.driver=com.mysql.jdbc.Driver
db.default.user=foo
db.default.pass=bar
然后当您启动Play应用程序时,请通过运行:
告诉它使用prod.conf
文件
start -Dconfig.resource=prod.conf
答案 1 :(得分:5)
为了避免打包配置文件,我建议您在生产服务器上创建一个prod.conf并存储在解压缩分布式文件的文件夹以外的文件夹中。然后创建一个如下所示的启动脚本(或一个更复杂的启动脚本,将您的应用程序作为服务启动)。通过将配置文件与dist dist包分开,可以避免在推出新更改时意外覆盖它的风险。
#!/bin/bash
sh start -Dconfig.file=/path/to/prod.conf &