scala-activerecord:如何将自定义配置传递给 Tables.initialize?
scala-activerecord: how to pass custom configuration to Tables.initialize?
我想用 scala-activerecord 创建表:
Tables.initialize(ConfigFactory.load(env))
这不起作用,因为 initialize
只接受 Map[String, Any]
。
我的第二次尝试是:
Tables.initialize(ConfigFactory.load(env).root())
其中 root()
returns ConfigObject
:
public interface ConfigObject extends ConfigValue, Map<String, ConfigValue>
我仍然得到:
Error:(15, 49) type mismatch;
found : com.typesafe.config.ConfigObject
required: Map[String,Any]
Tables.initialize(ConfigFactory.load(env).root())
^
我不明白,Any
应该接受任何值,为什么它不接受ConfigValue
?
如何将我的配置传递给 Tables.initialize
方法?
How can I pass my config to the Tables.initialize method?
这可能是一个解决方案:
import scala.collection.JavaConversions._
Tables.initialize(ConfigFactory.load(env).root.unwrapped.toMap)
对于 ActiveRecordTables#initialize
方法,假定您按如下方式提供覆盖设置和值:
Tables.initialize(Map(
"driver" -> "org.postgresql.Driver",
"jdbcurl" -> "jdbc:postgresql://hostname:5432/dbname"
))
此功能应该用于临时覆盖值集(例如编码测试)等应用程序。
数据库设置请参考:
https://github.com/aselab/scala-activerecord/wiki/Database-Settings
我想用 scala-activerecord 创建表:
Tables.initialize(ConfigFactory.load(env))
这不起作用,因为 initialize
只接受 Map[String, Any]
。
我的第二次尝试是:
Tables.initialize(ConfigFactory.load(env).root())
其中 root()
returns ConfigObject
:
public interface ConfigObject extends ConfigValue, Map<String, ConfigValue>
我仍然得到:
Error:(15, 49) type mismatch;
found : com.typesafe.config.ConfigObject
required: Map[String,Any]
Tables.initialize(ConfigFactory.load(env).root())
^
我不明白,Any
应该接受任何值,为什么它不接受ConfigValue
?
如何将我的配置传递给 Tables.initialize
方法?
How can I pass my config to the Tables.initialize method?
这可能是一个解决方案:
import scala.collection.JavaConversions._
Tables.initialize(ConfigFactory.load(env).root.unwrapped.toMap)
对于 ActiveRecordTables#initialize
方法,假定您按如下方式提供覆盖设置和值:
Tables.initialize(Map(
"driver" -> "org.postgresql.Driver",
"jdbcurl" -> "jdbc:postgresql://hostname:5432/dbname"
))
此功能应该用于临时覆盖值集(例如编码测试)等应用程序。
数据库设置请参考:
https://github.com/aselab/scala-activerecord/wiki/Database-Settings