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文件中

相关推荐
淋一遍下雨天1 小时前
Spark Streaming核心编程总结(四)
java·开发语言·数据库
琢磨先生David1 小时前
重构数字信任基石:Java 24 网络安全特性的全维度革新与未来防御体系构建
java·web安全·密码学
程序修理员1 小时前
技能点总结
java
Jennifer33K2 小时前
报错_NoSuchMethodException: cn.mvc.entity.User.<init>()
java
爱吃烤鸡翅的酸菜鱼2 小时前
【SpringMVC】概念引入与连接
java·开发语言·mysql
碎梦归途2 小时前
23种设计模式-行为型模式之策略模式(Java版本)
java·开发语言·jvm·设计模式·策略模式·行为型模式
三个蔡2 小时前
Java求职者面试:从Spring Boot到微服务的技术深度探索
java·大数据·spring boot·微服务·kubernetes
sniper_fandc2 小时前
JVM(Java虚拟机)详解
java·开发语言·jvm
小鸡脚来咯2 小时前
SpringBoot 常用注解通俗解释
java·spring boot·后端
AI的魔盒2 小时前
基于Java与MAVLink协议的多无人机(Cube飞控)集群控制与调度方案问题
java·开发语言·无人机