【问题标题】:What is best practice to work with Liquibase across different application versions?跨不同应用程序版本使用 Liquibase 的最佳实践是什么?
【发布时间】:2020-05-13 22:31:49
【问题描述】:

我想知道如何处理应用程序的版本控制以及 Liquibase 文件。假设我有 4 个应用程序版本:1.0、2.0、3.0、4.0。在 4.0 中,我有以下结构:

> - 1.0-changeset.xml
> - 2.0-changeset.xml
> - 3.0-changeset.xml
> - 4.0-changeset.xml
> - changesetMaster.xml (include all above files)

应用程序的 3.0 版本分别仅包含 1.0、2.0、3.0 变更集文件(不含 4.0)。

现在我的问题是:如何处理需要更改数据库的不同应用程序版本中的错误修复?

例如,已在 3.0 版中修复了一个错误。如果错误出现在 4.0 中,我是否应该在 3.0 应用程序版本中添加对 3.0-changeset.xml 的更改,在 4.0 应用程序版本中添加对 3.0-changeset.xml 的更改?还是在 4.0 应用程序版本中我应该将其添加到4.0-changeset.xml?相同的问题适用于仅存在于 3.0 版本中的错误。我也应该添加对 4.0 版本的修复吗?

一般而言,跨不同应用程序版本管理 liquibase 变更集文件的最佳方式是什么?

【问题讨论】:

    标签: version-control liquibase


    【解决方案1】:

    您的应用程序源代码存储在 git 等版本控制系统 (VCS) 中。对于不同的版本,您使用不同的分支。

    您只有一个 liquibase 更改日志文件,其中包含从一开始到当前开发版本的所有数据库更改。此更改日志与应用程序源代码一起存储在您的 VCS 中。

    当您修复当前开发分支以及 4.0 和 3.0 版本中的错误时,您需要在每个包含代码更改以及 liquibase 更改日志中的新更改集的分支上进行提交。

    在构建过程中,您从所需分支检查软件和变更日志并构建应用程序。在部署期间,您安装新的应用程序代码并针对数据库运行 liquibase update

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-10
      • 2011-09-19
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多