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

如何配置Flyway移除迁移文件名默认V前缀以识别自定义命名文件

解决方案

1. 修正配置写法

你之前配置不生效大概率是配置格式错误导致的,根据你使用的配置文件类型选择对应写法:

  • 如果你用的是application.yaml/application.yml,配置如下:
spring:
  flyway:
    # 配置SQL迁移文件前缀为空,注意双引号不能省略
    sql-migration-prefix: ""
    # 若不需要自定义undo、重复迁移前缀,以下两行可以省略
    undo-sql-migration-prefix: "U"
    repeatable-sql-migration-prefix: "R"
  • 如果你用的是application.properties,配置如下,注意等号后不要加引号、不要留空格:
spring.flyway.sql-migration-prefix=

2. 解决校验报错问题

Flyway的校验报错是因为flyway_schema_history元数据表中已经存在旧的迁移记录,和你新的命名规则不匹配,根据场景选择处理方式:

  • 开发/测试环境:可以直接清空flyway_schema_history表,或者临时添加配置spring.flyway.clean-on-validation-error: true启动一次(该配置会自动清理校验不通过的历史记录,禁止在生产环境使用)
  • 生产环境:临时添加配置spring.flyway.repair: true启动一次,Flyway会自动修正元数据表的记录和本地迁移文件匹配,启动成功后移除该配置即可。

额外校验项

确认你的迁移文件符合命名规则:版本号和描述之间必须为两个下划线__,你给出的示例20210902193819451__init_schema.sql是符合要求的,不需要修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:06:02