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

Spring Boot启动时Flyway未自动执行数据库迁移问题排查

解决Spring Boot启动时Flyway未自动执行迁移的问题

你遇到的核心问题是配置层级错误,加上部分配置参数的写法不符合Spring Boot对Flyway的自动配置要求,导致启动时Flyway没有被正确触发。以下是具体修复步骤:

1. 调整Flyway配置层级

你当前把Flyway配置放在了spring.jpa.properties.flyway节点下,但Spring Boot的Flyway自动配置只会读取spring.flyway前缀的配置,这是最关键的错误。需要将Flyway相关配置移到spring根节点下,与datasource、jpa同级。

2. 修正locations配置

你的locations直接指定了单个SQL文件,这不符合Flyway的用法——locations应该指向迁移脚本所在的目录,Flyway会自动扫描该目录下符合命名规范的所有迁移文件。正确写法是classpath:db/migration。

3. 移除冗余的数据库配置

既然spring.datasource已经配置了数据库连接信息,Flyway会自动复用这些配置,无需在flyway节点下重复配置url、user、password,除非你需要用独立的数据库连接执行迁移。

修正后的完整配置示例

logging:
  level:
    org.hibernate:
      sql: DEBUG
      type.descriptor.sql.BasicBinder: TRACE
    org.flywaydb: DEBUG
spring:
  datasource:
    url: jdbc:sqlserver://192.168.100.20;database=asd
    username: Sa
    password: Passw0rd
  jpa:
    properties:
      hibernate:
        search:
          default:
            indexmanager: elasticsearch
            elasticsearch:
              host: 127.0.0.1:9200
              index_schema_management_strategy: drop-and-create
              required_index_status: yellow
      javax.persistence.schema-generation:
        create-source: metadata
        scripts:
          action: update
          create-target: C:\script\db_migration.sql
  flyway:
    locations: classpath:db/migration
    baseline-on-migrate: true
    baseline-version: 1402.11.09.16.30.00
    out-of-order: true
    enabled: true
    schemas: hr
    default-schema: hr
    create-schemas: true

额外排查要点

  • 确认你的项目中已经引入了spring-boot-starter-flyway依赖,这是Flyway自动配置的前提。
  • 启动应用后查看Flyway的DEBUG日志,确认:
    • Flyway是否被初始化(日志中会出现Flyway Community Edition xxx by Redgate字样)
    • 是否扫描到了目标迁移文件(日志中会显示Found xxx migrations)
  • 检查迁移脚本的命名严格符合Flyway规范:V<版本号>__<描述>.sql,你的文件名是符合要求的,确保文件确实放在src/main/resources/db/migration目录下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:28:21