【发布时间】:2013-01-11 20:18:09
【问题描述】:
我有一个 Grails 项目,其中开发环境使用内存 H2 数据库:
dataSource {
dbCreate = "create"
url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
我可以运行应用程序(使用 run-app)并将一些东西放入数据库中(例如,使用脚手架控制器)。现在,如果我对源文件进行更改,Grails 会检测到更改,重新编译类,然后……清除数据库!
我尝试在 JDBC URL 中使用 file 而不是 mem,但行为是相同的。我发现避免这种情况的唯一方法是将dbCreate 设置为"update" 而不是"create",但这也不是我想要的,因为我在应用程序的BootStrap 中加载了一个夹具,所以当应用程序重新启动后,我得到了我的夹具的多个副本。
所以问题是:如何防止 Grails 在重新编译类时重新创建数据库 - 或者,在清除数据库时重新加载我的固件?
【问题讨论】:
标签: grails grails-orm h2