我想知道如何处理应用程序的版本控制以及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)。现在我的问题是,如何处理需要更改数据库的不同应用程序版本中的错误修复。例如,bug已在3.0版中修复。如果错误出现在4.0 in 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变更集文件的最佳方法是什么?
答案 0 :(得分:0)
您的应用程序源代码存储在像git这样的版本控制系统(VCS)中。对于不同的版本,您使用不同的分支。
您只有一个liquibase changelog文件,其中包含从开始到当前开发版本的所有数据库更改。此更改日志与应用程序源代码一起存储在VCS中。
当您修复当前开发分支以及版本4.0和3.0中的错误时,您将对每个分支进行提交,其中包含代码更改以及liquibase更改日志中的新更改集。
在构建期间,您可以从所需分支中检出软件和更改日志,然后构建应用程序。在部署期间,您将安装新的应用程序代码并对数据库运行liquibase update
。