5

目前使用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。这意味着我必须在分发代码之前更改数据库连接?分发后有没有办法在配置文件中更改数据库连接?

4

2 回答 2

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
于 2012-11-02T02:46:05.510 回答
5

为了完全避免打包配置文件,我建议您在生产服务器上创建一个 prod.conf 并将其存储在您将分发的文件解压缩到的文件夹之外的文件夹中。然后创建一个如下所示的启动脚本(或更复杂的启动脚本,将您的应用程序作为服务启动)。通过将配置文件与 dist 包分开,您可以避免在推出新更改时意外覆盖它的风险。

#!/bin/bash
sh start -Dconfig.file=/path/to/prod.conf &
于 2012-11-05T02:27:15.630 回答