0

我在我的应用程序中使用带有 Play 和 Slick 的 Scaldi。

我需要根据某些条件将 DatabaseConfig 依赖项绑定到不同的配置。

  • 模式 = 开发 => 甲骨文数据库
  • 模式 = UAT => 另一个 Oracle DB ...
  • 模式 = 测试 => 本地 H2 DB
  • 未指定模式 => 与模式相同 = 测试

我如何处理最后一部分?我尝试执行以下操作,但它不起作用。

  val inDevMode = SysPropCondition(name = "mode", value = Some("dev"))
  val inTestMode = SysPropCondition(name = "mode", value = Some("test")) or SysPropCondition(name = "mode", value = None)

  bind [DatabaseConfig[JdbcProfile]] when (inDevMode) to new DbConfigHelper().getDecryptedConfig("gem2g") destroyWith (_.db.close)
  bind [DatabaseConfig[JdbcProfile]] when (inTestMode) to DatabaseConfig.forConfig[JdbcProfile]("h2") destroyWith (_.db.close)
4

1 回答 1

0

val inTestMode = SysPropCondition(name=MODE, value=Some("test")) 或 SysPropCondition(name=MODE, value=None) 或 Condition(System.getProperty(MODE) == null)

于 2017-03-05T11:22:38.863 回答