【问题标题】:Grails database migration pluginsGrails 数据库迁移插件
【发布时间】:2011-01-07 09:36:42
【问题描述】:

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

对于其中哪一个最好有共识,或者是否有另一个插件比上述任何一个都更好地进行数据库迁移?

【问题讨论】:

    标签: database grails migration grails-plugin


    【解决方案1】:

    现在有一个standard Grails database migration plugin 可用。根据this blog post,至少在 liquibase 1.9 版本之后将不再维护 liquibase 插件。

    新的数据库迁移插件有built-in functionality在启动时执行更改日志,并支持在Groovy DSL中定义更改,所以它可能就是你要找的。​​p>

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

      • 只看 autobase 页面 - 现在已弃用它,取而代之的是 Liquibase
      • 我不认为 liquibase 有能力在你的应用程序启动时更新数据库,这是一个非常好的功能。在迁移成为 Grails 核心的一部分(计划用于 Grails 1.4)之前,我仍然会使用 Autobase
      • @leebutts - 在撰写本文时,dbMigrations 插件(Liquibase 插件的后续版本)确实支持在应用程序启动时更新数据库。
      【解决方案3】:

      我使用 liquibase,我不确定 Robert 是否仍在积极维护 Autobase,而 liquibase 提供的 xml 实际上非常类似于 DSL。我认为它还为您的数据库命令提供了一点分离,并且不会使其根深蒂固于启动过程中(有些人可能更喜欢相反)。

      【讨论】:

        【解决方案4】:

        至少从 Grails2.0 开始,database migration plugin 是处理重要数据库更改的事实上的方式。该插件基于 Liquibase 构建,由 Springsource 人员编写 - 始终是质量的标志。我写了一个introduction to the database migration plugin,可能对阅读本文的人有用。

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

            是的,我也看到了迁移插件。这很有帮助... http://grails-plugins.github.io/grails-database-migration/

            【讨论】:

              猜你喜欢
              • 2012-05-20
              • 2019-08-31
              • 1970-01-01
              • 1970-01-01
              • 2014-05-19
              • 2012-05-28
              • 2013-01-12
              • 2016-05-10
              相关资源
              最近更新 更多