最初在我的 Spring Boot 项目中,我所有的 liquibase 迁移脚本都位于“migrations”文件夹中,changelog.xml 文件位于外部:
- resources
--- db.changelog
----- migrations
----- changelog.xml
我的changelog.xml 文件包含一般脚本启动:
<includeAll path="migrations" relativeToChangelogFile="true"/>
然后我决定编辑变更日志以清楚地指示脚本的顺序(我还删除了 includeAll 标签):
<include file="db/changelog/migrations/10-05-23--1--test-table.xml"/>
<include file="db/changelog/migrations/01-06-23--1--another-table.xml"/>
因此,变更日志包含迁移文件夹中的所有相同脚本。
当我在本地运行该项目时,它像以前一样计算 md5sum 校验和,并且没有冲突。
当 Spring Boot 应用程序在另一个站点上启动时,就会出现问题,它会写入第一个脚本的校验和已更改。
我不明白我需要注意什么以及这可能与什么有关。如果有任何建议,我将不胜感激。
这是预期的,因为更改日志文件的路径是校验和的一部分。
我认为你对此无能为力。
您可以运行 clear-checksums 命令(如
mvn liquibase:clearCheckSums
)来清除现有校验和并在下次部署期间重新计算它们。