我们最近采用了liquibase,它大大简化了让DB与代码同步的任务。
但是我们在生产中使用liquibase可能会遇到问题。 自动化生产模式应用程序的问题是改变在不同时间通过不同变更集的大表。 第1组检查“alter table bigtable column1”,第2组稍后添加“alter table bigtable column2”。
如果它们是包含在单个变更集下的单个alter stmt的一部分,那么可以说(30分钟)在生产中独立运行改变而不是15分钟。 我们无法将它们合并到单个更改集中,因为它会破坏liquibase changeset校验和验证。
我非常感谢有关人们如何处理这种情况的任何见解。
人们是否使用先决条件来解决这个问题?
谢谢!
答案 0 :(得分:0)
当您发现问题时,您可以创建单个变更集并使用标签或上下文来显示“组合”变更集应仅应用于尚未应用两个原始更改的环境。您还可以将标签或上下文应用于现有更改,以表明它们只应应用于已应用它们的环境。