2017-02-11 48 views
0

我在我的應用程序中使用Scaldi和Play和Slick。如何使用Scaldi條件來執行默認綁定

我需要根據某些條件將DatabaseConfig依賴關係綁定到不同的配置。

  • 模式=開發=> Oracle數據庫
  • 模式= 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) 

回答

0

VAL inTestMode = SysPropCondition(名稱= MODE,值=部分( 「測試」))或SysPropCondition(名稱= MODE,值=無)或 條件(System.getProperty(MODE)== NULL)