将多个 liquibase 变更集合并为一个变更集

Nat*_*ots 1 changeset liquibase

我使用 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>
Run Code Online (Sandbox Code Playgroud)

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

如何避免出现多个变更集?

hts*_*ame 6

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

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

如果您不想让您的变更日志文件太大,请创建一个父变更日志文件和一些多个子变更日志文件(请参阅includeincludeAll标签)。您可以创建一个新的子更改日志文件,例如每月、每周或通过其他逻辑。

如果你真的想修剪你的变更日志,我建议你先阅读“修剪变更日志”文章。