Java 我们如何在Grails中迁移/更新数据库模式?
我们已经与Grails合作了一段时间,我的团队负责人提出了一些关于Grails ORM(GORM)的问题:Java 我们如何在Grails中迁移/更新数据库模式?,java,orm,grails,groovy,Java,Orm,Grails,Groovy,我们已经与Grails合作了一段时间,我的团队负责人提出了一些关于Grails ORM(GORM)的问题: 一旦进入生产环境,我们如何维护数据库模式 我们可以用Grails更新数据库模式吗 如果模式被更新,更改是否会自动反映出来/框架是否考虑到了这一点 是否有任何Grails插件可以让我们在不头疼的情况下更新模式 虽然“自动创建”功能可以让项目启动并运行,但我找到了保持数据库最新的最佳方法。还有一个问题,我相信DSL的工作也在进行中 因此,创建一个基线模式(您可以使用liquibase的gene
environments {
development {
dataSource {
dbCreate = "validate"
您可能还对在应用程序启动时运行迁移的方法感兴趣
DataSource.groovy
中的dbCreate
参数-这将阻止GORM自动更新数据库模式dbCreate='update'
来实现,但强烈建议不要这样做。例如,如果重命名字段,GORM/LiquiBase永远无法确定必须迁移数据,而不仅仅是drop+creategrailsdb diff
生成LiquiBase的changelog.xml
,并grails migrate-Dgrails.env=
将其应用于相应的数据库服务器我最近发布了用于数据库迁移的官方Grails插件-请参阅和 我正在与Liquibase的作者一起研究这一点,因此旧的Liquibase插件现在已被弃用,而新的插件应该被使用,因为它使用了最新版本的Liquibase(2.0),并且得到了SpringSource的官方支持。看看他的公告
在Grails用户邮件列表(注册地址)或新插件论坛上提出使用问题,或直接向作者发送电子邮件:)新的DB插件绝对是最好的选择我现在已经尝试了Burt的DB插件,它更好了-使用它!