在play 2.5.x中忽略数据库配置

时间:2017-03-27 10:00:06

标签: scala playframework-2.0 sbt typesafe-config hocon

我正在尝试自动化将play2 / sbt应用程序部署到受限制的容器化环境中的某些方面,并且有一些限制。

主要是我想要实现的是只有在设置了env变量时才为特定的命名数据库连接设置数据库配置。

通过HOCON格式文档阅读,如果我没有设置任何替换变量,我预计会忽略密钥,但事实并非如此,应用程序仍然会获取somedb连接,试图连接到它。

我怀疑如果有子密钥,可能还是会创建db.somedb密钥吗?

我可以做些什么来获得我正在寻找的行为。

请注意,创建单独的配置文件并加载它不是我的选择

db {
  somedb.driver = ${?DB_DRIVER}
  somedb.url = ${?DB_URL}
  somedb.username = ${?DB_USERNAME}
  somedb.password = ${?DB_PASSWORD}
}
db.somedb.jndiName=${?DB_JNDI}

谢谢

1 个答案:

答案 0 :(得分:0)

您可以设置一个由ENV var覆盖的默认值,如下所示:

somedb.driver = "changeme" somedb.driver = ${?DB_DRIVER}

然后你必须检查你的代码是否覆盖,例如与模式匹配。