我们正在为我正在处理的这个项目使用Liquibase ,所有的变更日志都在一个大的 XML 文件中。不幸的是,这个文件变得太大了——我们想要引入一个“主”文件,其中包括原始文件和任何新文件。
旧结构:
/db/changesets-from-beginning-of-time.xml
新结构:
/db/changesets/changesets-from-beginning-of-time.xml
/db/changesets/changesets-v.1.2.3.xml
/db/changesets/changeset-master.xml
-files的内容changesets-*
只是变更集 xml,而changeset-master.xml
文件如下所示:
<databaseChangeLog xmlns="...skipped...">
<include file="changesets-from-beginning-of-time.xml"
relativeToChangelogFile="true"/>
<include file="changesets-v1.2.3.xml"
relativeToChangelogFile="true"/>
</databaseChangeLog>
现在,DATABASECHANGELOG
我的数据库中的表引用了旧文件,因此旧的变更集再次运行。
根据Liquibase 文档,每个变更集都由组合唯一标识[filepath/-name]:::[id]:::[author]
- 这对我来说不是最佳的。
所以我的问题是 - 如何在不破坏 liquibase 设置和清空数据库的情况下重构文件结构?