我在我的应用程序中使用带有 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)