bug: 配置flyway.locations多个脚本位置不生效

文章目录

业务场景

随着项目版本迭代,数据库结构也会变动。如果一个项目引用其他项目的jar包,并且需要执行对应jar包的flyway脚本,就需要配置flyway.locations

场景一

正常情况下,在一个项目中可以在yml文件中指定多个flyway脚本的地址,比如:可以正常执行

java 复制代码
spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:postgresql://192.168.x.xx:5432/core
    username: xxx
    password: xxxxxxx
    hikari:
      poolName: Hikari
      auto-commit: false
  flyway:
    enabled: true
    schemas: public
    encoding: UTF-8
    locations: 
    	- classpath:db/migration/db1
    	- classpath:db/migration/db2

场景二

但是如果该模块还引用了其他模块,该模块也有flyway需要执行,新增下述配置,但file/db/migration文件夹下的脚本不会生效

java 复制代码
</dependencies>
 	<dependency>
            <groupId>com.xx.xx</groupId>
            <artifactId>infra-xx-xx</artifactId>
            <version>${project.version}</version>
        </dependency>
</dependencies>

  flyway:
    locations:
      - classpath:db/migration/db1
      - classpath:db/migration/db2
      - classpath:file/db/migration

解决方案
该配置文件必须配置在依赖模块的yml文件中

相关推荐
C137的本贾尼11 小时前
【实战】分析一张真实业务表的 InnoDB 存储结构
java·大数据·数据库
超梦dasgg11 小时前
亿级数据 不停服务平滑迁移(生产环境实战方案)
java·数据库
Zella折耳根11 小时前
Java 正则表达式实战:IP 地址匹配与替换全解析
java·tcp/ip·正则表达式
摇滚侠11 小时前
JavaWeb 全套教程 Filter 107-111
java·开发语言·servlet
YIN_尹11 小时前
【Linux系统编程】基础IO第一讲——系统文件IO
android·java·linux·c++
凤山老林11 小时前
81-Java Scanner 类
java·开发语言
糖果店的幽灵11 小时前
Spring AI 从入门到精通-ChatClient你与 AI 对话的终极武器
人工智能·python·spring
linge_sun11 小时前
Sping AI 使用 Ollama 快速搭建本地知识库
java·人工智能·ai编程
沐苏瑶11 小时前
深入浅出 Java 文件操作与 IO:从文件系统到数据流实战
java·开发语言
唐青枫11 小时前
Java MyBatis-Plus 实战指南:用 BaseMapper、Wrapper 和分页写好数据层
java·mybatis