【问题标题】:Merging LiquiBase changesets合并 LiquiBase 变更集
【发布时间】:2017-12-12 10:39:31
【问题描述】:

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

当前的更改集反映了整个开发历史,其中包含许多失败的实验,并且在初始化数据库时推出了整个开发历史。

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

有没有办法告诉 LiquiBase 将所有更改集合并到一个文件中,或者唯一的方法是手动?

【问题讨论】:

  • afaik liquibase 没有此功能...您必须手动合并变更集。

标签: merge liquibase


【解决方案1】:

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

【讨论】:

  • 我应该注意到我使用的 liquibase.Liquibase 类上还有 generateChangelog 方法。
【解决方案2】:

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

总而言之,他们建议您不要费心,因为整合您的变更日志既冒险又低回报。

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

【讨论】:

    猜你喜欢
    • 2021-03-27
    • 2018-01-01
    • 1970-01-01
    • 2015-11-25
    • 2016-02-06
    • 2015-10-27
    • 2019-10-16
    • 2011-05-04
    • 2019-02-18
    相关资源
    最近更新 更多