【问题标题】:Combine multiple liquibase changeset to a single one将多个 liquibase 变更集合并为一个
【发布时间】:2021-03-27 06:55:35
【问题描述】:

我正在使用 liquibase 来管理我的数据库,并使用单个变更集启动项目,其中创建了所有基本表。现在我的客户想要更改该数据库并且我正在启动其他变更集,但我担心它会在一段时间内变得一团糟(例如,对于开发人员来说不容易阅读),因为第一个变更集现在不是真正的代表数据库架构。

例子:

<changeset id="1" author="natty">
  <createTable tableName="my_table">
    <column name="my_column" type="integer" />
  </createTable>
</changeset>
<changeset id="2" author="natty">
  <addColumn tableName="my_table">
    <column name="another_column" type="varchar(10)" />
  </addColumn>
</changeset>
[...]
<changeset id = "100" author="natty">
 ...
</changeset>

我现在需要全面了解所有变更集才能理解我的数据库架构。

如何避免有多个变更集?

【问题讨论】:

    标签: liquibase changeset


    【解决方案1】:

    您不应该更改您的变更集。您应该只添加新的变更集。更改变更集是一种反模式。

    您是否需要向数据库架构添加更改,您应该保留现有的更改集并编写新的。

    如果你不想让你的 changeLog 文件太大,那么创建一个父 changeLog 文件和一些多个子 changeLog 文件(参见includeincludeAll 标签)。您可以创建一个新的子 changeLog 文件,例如每月、每周或其他逻辑。

    如果你真的想修剪你的changeLog,我建议你先阅读"Trimming Changelogs"的文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-03
      • 2012-09-17
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      相关资源
      最近更新 更多