执行mvn flyway:migrate报Migration 1.0.53不匹配错误及.sql文件创建问题
Flyway迁移校验失败解决方案
报错的核心是版本1.0.53的迁移脚本描述与数据库flyway_schema_history表中已记录的历史信息不匹配:数据库中记录的该版本迁移描述为update rule type column valid from nullable,但本地脚本文件名的描述部分多了- Copy - Copy后缀,触发Flyway的校验规则导致迁移失败。
你之前执行mvn flyway:repair未生效是因为repair仅会自动修正校验和不匹配的问题,描述不匹配需要先手动修正本地文件名,具体操作步骤如下:
- 找到Flyway迁移脚本目录下版本号为1.0.53的文件,删除文件名中多余的
- Copy - Copy后缀,确保文件名描述部分和数据库记录完全一致,标准命名格式为V[版本号]__[描述].sql(版本号与描述之间为两个下划线) - 确认新增的两个待迁移脚本命名符合Flyway规范,版本号高于已执行的最新版本
- 重新执行
mvn flyway:migrate即可完成迁移
Windows系统创建.sql后缀文件的方法
两种常用操作方式:
- 记事本创建法
- 右键空白处选择「新建」>「文本文档」,打开后编写SQL内容
- 点击左上角「文件」>「另存为」,底部「保存类型」选择「所有文件」,文件名末尾添加
.sql后缀,编码选择UTF-8避免乱码后保存即可
- 直接修改后缀法
- 打开资源管理器顶部「查看」选项卡,勾选「文件扩展名」选项,显示所有文件的后缀名
- 新建文本文档后直接将后缀
.txt修改为.sql,弹出确认提示时点击「是」即可
内容的提问来源于stack exchange,提问作者Eatsam ul haq
相关产品推荐
相关产品推荐

