我们正在使用Liquibase来处理我们的DB Schema更改。由于我们已经将大量的ChangeLog分布在多个文件中,并以复杂的文件夹结构排列,因此有时需要或者希望进行一些会影响DatabaseChangeLog表中的元信息的重构。
此类重构的建议是什么?我可以使用Liquibase本身来更新DatabaseChangeLog条目,还是会遇到缓存问题?
一个让我的案例更清晰的简单例子:
感谢您的反馈!
有些跟进:
有时不幸的是,变更集无法适应。考虑以下情况:
答案 0 :(得分:1)
Liquibase不支持重构changelog文件。它通常希望您在运行后尽可能保持原样,以尽量减少意外差异。
如果您想要搬家,您所概述的步骤就是您需要做的事情。 LogicalFilePath将提供帮助,并且您应该只需要更新databasechangelog.filename列。
在重新组织文件后第一次运行liquibase之前,您需要更新文件名路径,否则它将再次执行changeSet。 Liquibase在启动时立即查看changelog表和changelog文件,因此您需要更新Liquibase之外的filename列。