Grails DBMigrations插件使用混乱

时间:2015-08-25 16:14:45

标签: grails database-migration

我希望将Grails DBMigrations插件引入现有应用程序。

我的理解是,在安装之后,首先要做的是创建我使用命令完成的初始changelog.groovy

dbm-generate-gorm-changelog changelog.groovy

这会正确创建文件,并包含重新创建数据库架构的所有必要命令。

其次我的理解是我应该发出命令dbm-changelog-sync来指示更改日志脚本已经执行。

如果我发出命令dbm-gorm-diff?

会发生什么

此时我希望看到一个空的更改列表...因为初始架构已创建,已提交且未对任何域进行任何更改,但是我看到一堆条目...用于修改列类型和一些索引创建条目。

任何建议都表示赞赏,我已达到这一点,因为我想更新生产环境数据库中的数据库,并且不想开始在bootstrap中编写手动测试和SQL来更新数据库肯定会最终导致维持性偏头痛。使用DBMigrations似乎是前进的方向,但要么我不理解它,要么它有缺陷并且不想冒险使用它。

正如其他人在其他帖子中评论的那样,我在发出命令之间重新启动grails控制台以避免重新加载问题。

谢谢

1 个答案:

答案 0 :(得分:0)

戴夫,

要记住关于迁移插件的重要一点是,dbm-gorm-diff的输出并不意味着被视为福音。它只是一种希望能让你免于打字的方法。应该检查和分析从插件自动生成的任何内容,以确定它是您想要的。