我希望将Grails DBMigrations插件引入现有应用程序。
我的理解是,在安装之后,首先要做的是创建我使用命令完成的初始changelog.groovy
dbm-generate-gorm-changelog changelog.groovy
这会正确创建文件,并包含重新创建数据库架构的所有必要命令。
其次我的理解是我应该发出命令dbm-changelog-sync来指示更改日志脚本已经执行。
如果我发出命令dbm-gorm-diff?
会发生什么此时我希望看到一个空的更改列表...因为初始架构已创建,已提交且未对任何域进行任何更改,但是我看到一堆条目...用于修改列类型和一些索引创建条目。
任何建议都表示赞赏,我已达到这一点,因为我想更新生产环境数据库中的数据库,并且不想开始在bootstrap中编写手动测试和SQL来更新数据库肯定会最终导致维持性偏头痛。使用DBMigrations似乎是前进的方向,但要么我不理解它,要么它有缺陷并且不想冒险使用它。
正如其他人在其他帖子中评论的那样,我在发出命令之间重新启动grails控制台以避免重新加载问题。
谢谢
答案 0 :(得分:0)
戴夫,
要记住关于迁移插件的重要一点是,dbm-gorm-diff
的输出并不意味着被视为福音。它只是一种希望能让你免于打字的方法。应该检查和分析从插件自动生成的任何内容,以确定它是您想要的。