我在LiquiBase中开发了一个带有数据库版本控制的系统。该系统仍处于pre-alpha开发阶段,并且有许多更改已被其他更改(已删除表,添加和删除列)还原或补充。
当前的变更集反映了许多失败的实验的整个开发历史,并且在初始化数据库时整个过程都被推广。
因为没有发布版本,我可以从头开始并在单个XML变更集中拉出实际的DB状态。
有没有办法告诉LiquiBase将所有变更集合并到一个文件中,或者单手执行此操作的唯一方法是?
答案 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