首页 > 解决方案 > 未更改的 SQL 脚本上的 flyway 校验和计算错误

问题描述

运行 flyway (flyway-6.0.0) 迁移时出现以下错误:

ERROR: Validate failed: Migration checksum mismatch for migration version 1.1
-> Applied to database : -1340212107
-> Resolved locally    : -1039259818

SQL 脚本为:V1_1__add_column_location_history_valid_until.sql

alter table location_history add column valid_until timestamp with time zone;

我对此文件运行 crc32 检查并将其转换为有符号整数:

root@jerry:~# crc32 V1_1__add_column_location_history_valid_until.sql
b01dfc75
root@jerry:~# echo $(( 16#b01dfc75 -2**32 ))
-1340212107

我发现校验和与应用于数据库的校验和完全相同。

现在我很困惑为什么flyway计算校验和结果-1039259818,这显然是错误的。

这是flyway最新版本中的错误吗?

飞路支持解决了问题。 -1039259818 校验和由 Flyway 5.2.4 和 Flyway 6.0 生成。这些都从迁移中剥离了行尾。-1340212107 是单行末尾带有 LF 的文件的校验和。飞路维修应该为您纠正一切。

标签: postgresqlflyway

解决方案


推荐阅读