多模块Spring引导应用Flyway迁移脚本。

问题描述 投票:0回答:1

我有一个多模块的Spring引导程序(为了简单起见,只有模块A和模块B)。两个模块都访问同一个DB。同时,我使用flyway来初始化表,并将初始数据填充到DB中。

当我使用 命名模式 我遇到的问题是

V1_0__init.sql 中的模块A与 V1_0__init.sql 模块B中。

我知道我可以把其中一个文件改名为 V1_1__init.sql 而且它的工作原理是这样的。但我们的想法是,这些模块可以共存,而不知道迁移脚本在其他模块中是如何命名的。这在flyway中可能吗?

spring-boot flyway
1个回答
0
投票

名字不能冲突,因为Flyway正在创建一个历史日志,两个同名不同定义的文件将创建一个非幂等执行的日志。

但我们回到真正的问题......为什么你用一个数据库写两个模块?这比Flyway的命名滥用更麻烦。我可以设想出解决这个问题的方法,但我不想在基础有缺陷的时候提任何想法。如果一个模块需要另一个模块的数据,你需要在它们之间建立接口(或者拉出到第三个模块),因为你违反了模块化分离的关注点。简单地说:不要这样做。

© www.soinside.com 2019 - 2024. All rights reserved.