You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成Flyway时V1__init.sql脚本未执行问题排查

问题原因及解决方案

你的V1__init.sql脚本没执行,核心问题出在spring.flyway.baselineOnMigrate = true这个配置和脚本版本号的冲突上:

当开启baselineOnMigrate=true时,Flyway会把当前数据库的状态标记为基线版本1(也就是你在flyway_schema_history里看到的<< Flyway Baseline >>记录)。而你的脚本命名是V1__init.sql,版本号同样是1,Flyway会判定这个版本已经被基线覆盖,因此不会执行该脚本。

解决方法(任选其一即可)

1. 修改SQL脚本的版本号

将V1__init.sql重命名为V2__init.sql,这样Flyway会识别到这是基线版本1之后的新版本,应用启动时就会自动执行这个脚本。

2. 调整Flyway的基线版本

在application.properties里添加或修改基线版本配置:

spring.flyway.baseline-version=0

配置后,Flyway会把当前数据库状态标记为版本0,你的V1__init.sql作为版本1的脚本,就能被正常执行。

3. 移除基线配置(适用于空数据库场景)

如果你的carorderprocess数据库是空的,完全不需要基线功能,可以直接删除spring.flyway.baselineOnMigrate = true这一行配置。Flyway会自动初始化空数据库,并执行你的V1__init.sql脚本。


内容的提问来源于stack exchange,提问作者farahm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:40:39