我有一个grails应用程序,它有一些我希望在构建过程中运行的运行脚本。我正在使用一个带有ant的构建过程,它在创建war文件之前会做很多事情。
但是,脚本的运行要连接到数据源文件中的数据库。所以失败了。我希望能够配置数据源文件,以便在dev,qa,staging和production服务器上运行应用程序时建立连接。但我希望它在构建服务器上运行特殊脚本时忽略连接定义。
请问这样做的正确方法是什么?
答案 0 :(得分:2)
最简单的方法是创建一个使用内存数据库的新环境,例如
environments {
nodb {
dataSource {
url = "jdbc:hsqldb:mem:nodb"
driverClassName = "org.hsqldb.jdbcDriver"
username = "sa"
password = ""
}
}
development {
...
}
然后在运行脚本时指定它:
grails -Dgrails.env=nodb <scriptname> <args>