Merge 合并分解变更集

Merge 合并分解变更集,merge,liquibase,Merge,Liquibase,我正在用LiquiBase开发一个数据库版本控制系统。该系统仍处于alpha开发之前,有许多更改被还原或由其他更改补充(删除了表、添加了列和删除了列) 当前的更改集反映了整个开发历史,其中有许多失败的实验,并且在初始化数据库时会滚动整个更改集 因为并没有发布版本,所以我可以从头开始,在单个XML变更集中提取实际的DB状态 有没有一种方法可以告诉LiquiBase将所有更改集合并到一个文件中,或者唯一的方法是按手操作?只需使用现有数据库来生成更改日志,从现在开始就可以使用。为此,您可以使用命令行中

我正在用LiquiBase开发一个数据库版本控制系统。该系统仍处于alpha开发之前,有许多更改被还原或由其他更改补充(删除了表、添加了列和删除了列)

当前的更改集反映了整个开发历史,其中有许多失败的实验,并且在初始化数据库时会滚动整个更改集

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


有没有一种方法可以告诉LiquiBase将所有更改集合并到一个文件中,或者唯一的方法是按手操作?

只需使用现有数据库来生成更改日志,从现在开始就可以使用。为此,您可以使用命令行中的
generateChangeLog
命令,它将生成包含表示数据库当前状态的所有变更集的变更日志文件。您可以在项目中将此文件用作初始数据库创建文件,以便在空数据库上使用。这是一个。

Liquibase文档中有一个页面详细讨论了该场景:

总之,他们建议您不要麻烦,因为整合变更日志既有风险,回报也很低


如果您确实想继续执行此操作,那么按照@veljkost的建议,使用
generateChangeLog
重新启动变更日志可能是最简单的方法。这在

afaik liquibase没有用于此的函数…您必须手动合并变更集。我应该注意到我使用的liquibase.liquibase类上还有generateChangelog方法。