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

相关推荐
月明长歌几秒前
【码道初阶】Leetcode136:只出现一次的数字:异或一把梭 vs HashMap 计数(两种解法完整复盘)
java·数据结构·算法·leetcode·哈希算法
Swift社区6 分钟前
LeetCode 456 - 132 模式
java·算法·leetcode
Knight_AL11 分钟前
Maven <dependencyManagement>:如何在多模块项目中集中管理依赖版本
java·数据库·maven
狼与自由11 分钟前
excel 导入 科学计数法问题处理
java·前端·excel
建群新人小猿16 分钟前
陀螺匠企业助手 运行环境
java·大数据·人工智能·docker·php
写代码的小阿帆18 分钟前
Java本地缓存技术——Guava、Caffeine
java·缓存·guava
weixin_5150696619 分钟前
1.guava-retrying 重试框架
java·框架·guava·java常用api
while(1){yan}23 分钟前
计算器和登录界面(实现前后端互通)
spring boot·spring·servlet·java-ee·tomcat·maven
lkbhua莱克瓦2425 分钟前
反射4-反射获取成员变量
java·开发语言·servlet·反射
lifewange26 分钟前
Linux 日志查看命令速查表
java·linux·运维