Grails数据库迁移插件

时间:2010-01-20 17:54:33

标签: database grails migration grails-plugin

至少有两个Grails插件可以模拟Rails的数据库迁移功能:

对于哪一个最好,还是有另一个插件能够比上述任何一个更好地进行数据库迁移,是否有共识?

6 个答案:

答案 0 :(得分:13)

现在有standard Grails database migration plugin可用。根据{{​​3}},至少liquibase插件将不再维持在liquibase 1.9发布之后。

新的数据库迁移插件this blog post在启动时执行更改日志,并支持Groovy DSL中的更改定义,因此它可能正是您所寻找的。

答案 1 :(得分:3)

我使用Autobase(它建立在Liquibase之上),因为它(我上次检查过)允许您在应用启动时自动检查/应用迁移。使用Liquibase插件,我必须自己在servlet初始化代码中执行此操作。这允许您将数据源设置为dbCreate = none,并让Autobase处理数据库的形状。

意味着每次向域类添加属性时都需要编写迁移,但我认为这是一件好事,因为它会让你思考底层字段应该是什么而不只是让Hibernate猜测它。

我认为一些Autobase插件(例如groovy dsl)正在迁移回Liquibase插件,但你需要检查它。

Autobase的唯一缺点是缺乏良好的文档。有一些,但它不完整。幸运的是,dsl与xml Liquibase标签相同,因此您可以完成大部分工作。

答案 2 :(得分:1)

我使用liquibase,我不确定Robert是否仍在积极维护Autobase,而liquibase提供的xml实际上就像DSL一样。我认为它也会对您的数据库命令进行一些分离,并且不会使其根深蒂固地进入启动过程(有些人可能更喜欢反向)。

答案 3 :(得分:1)

至少从Grails2.0开始,database migration plugin是处理非平凡数据库更改的事实方法。该插件基于Liquibase构建,由Springsource人员撰写 - 始终是质量的标志。我写了一篇introduction to the database migration plugin,可能对读这篇文章的人有用。

答案 4 :(得分:0)

我听说Autobase仍在维护,但认为Grails数据库迁移插件是由核心团队编写的,可能会成为官方支持的插件。

换句话说,鼓励您等待Grails 1.4 - >在选择上述任一插件之前roadmap

答案 5 :(得分:0)

我也看到了迁移插件。这很有帮助...... {{3P>