test.datasource的外部化配置

时间:2012-10-09 20:01:28

标签: grails

通过更新Config.groovy中的grails.config.locations,然后在.grails / $ {appName} -config.properties中设置特定配置,我已经能够为开发环境外部化DataSource配置:

dataSource.driverClassName = com.mysql.jdbc.Driver
dataSource.url = jdbc:mysql://localhost/db-dev
dataSource.username = root
dataSource.password = pass

对于'测试'环境,我有不同的数据库,所以我想相应地更新test.dataSource.url,但这不起作用。当运行'grails test'模式时(即grails test dgm-update),它仍然需要'dev'dataSource.url。如何外化测试环境DataSource配置?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

grails.config.locations = ["file:${userHome}/.grails/${appName}-config-${grails.util.Environment.current.name}.properties"]

然后为每个env放置嵌套文件:

/home/me/.grails/myapp-config-dev.properties
/home/me/.grails/myapp-config-test.properties
/home/me/.grails/myapp-config-production.properties

答案 1 :(得分:0)

尝试使用Groovy外部配置,即“.grails / $ {appName} -config.groovy”与环境特定的DSL:

environments {
    test {
        dataSource {
            ...
        }
    }
}