合并LiquiBase变更集

时间:2017-12-12 10:39:31

标签: merge liquibase

我在LiquiBase中开发了一个带有数据库版本控制的系统。该系统仍处于pre-alpha开发阶段,并且有许多更改已被其他更改(已删除表,添加和删除列)还原或补充。

当前的变更集反映了许多失败的实验的整个开发历史,并且在初始化数据库时整个过程都被推广。

因为没有发布版本,我可以从头开始并在单个XML变更集中拉出实际的DB状态。

有没有办法告诉LiquiBase将所有变更集合并到一个文件中,或者单手执行此操作的唯一方法是?

2 个答案:

答案 0 :(得分:1)

只需使用现有数据库生成将从现在开始使用的更改日志。为此,您可以从命令行使用root_scope命令,它将生成包含表示您当前数据库状态的所有changeSets的changelog文件。您可以在项目中将此文件用作初始数据库创建文件,以用于空数据库。这是link to docs

答案 1 :(得分:1)

Liquibase文档中有一个页面,详细讨论了这种情况: http://www.liquibase.org/documentation/trimming_changelogs.html

总而言之,他们建议您不要打扰,因为合并变更日志既冒险又低回报。

如果您确实想继续这样做,那么按照@veljkost的建议,使用generateChangeLog重新启动更改日志可能是最简单的方法。记录在http://www.liquibase.org/documentation/existing_project.html