当前位置: 首页 > 知识库问答 >
问题:

Flyway-maven-plugin:如何一起执行多个数据库配置?

阮喜
2023-03-14

我正在将Flyway集成到一个现有的遗留项目中,该项目由同一个应用程序的多个数据库组成。该项目使用Maven,我想使用maven-flyway-plugin与flyway集成。

到目前为止,我的工作配置如下所示:

<plugin>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>db1</id>
            <goals>
                <goal>migrate</goal>
            </goals>
            <configuration>
                ...
            </configuration>
        </execution>
        <execution>
            <id>db2</id>
            <goals>
                <goal>migrate</goal>
            </goals>
            <configuration>
                ...
            </configuration>
        </execution>
        <execution>
            <id>db2</id>
            <goals>
                <goal>migrate</goal>
            </goals>
            <configuration>
                ...
            </configuration>
        </execution>
    </executions>
</plugin>

有了这个,我可以像这样分别迁移每个数据库:

mvn flyway:migrate@db1 flyway:migrate@db2 flyway:migrate@db3

不幸的是,这不是非常友好的用户。我希望能够简单地执行MVN Flyway:migrate并执行所有三个迁移配置。

共有1个答案

杭柏
2023-03-14

maven是这样工作的。你可以根据你的需要扩展flyway插件,也可以迁移到gradle,它可以收集多个“工作”

埃里克

 类似资料:
  • 问题内容: 我们有一个使用maven配置的Java应用程序,该应用程序使用多个数据库。这是一个应用程序-许多架构。 我已经配置了flyway,已经过测试,并且效果很好,但是我的配置仅适用于一个数据库。 这是我的pom.xml使用一种模式进行测试: 更新:通过使用现在提供的答案,我将以下pom.xml配置为2个模式。 我执行飞行操作,但没有成功,这是我收到的错误: 数据库配置正常。另外,我检查了架构

  • 我们有一个用maven配置的java应用程序,它使用多个数据库。它是一个应用程序——许多模式。 我已经配置了flyway,经过测试,效果很好,但我的配置只针对一个数据库。 这是我的pom。用一种模式测试xml: 更新:通过使用现在提供的答案,我有以下pom。xml配置了两种模式。 我执行了flyway操作,但没有成功,下面是我得到的错误: 数据库配置正常。我还检查了模式是否正常。我缺少什么? 更新

  • 我尝试使用maven命令行执行多个maven概要文件 但它只对Profile2执行,Profile1永远不会执行。通过命令行执行多个配置文件需要帮助。 另请注意,当我列出活动配置文件时,它会将两个配置文件显示为活动的。

  • 问题内容: 我正在尝试使用jaxb- maven插件使用JAXB将多个XSD转换为不同包中的POJO。我已将其设置为使用多个执行块,然后执行第一个执行块,然后出现一条消息:模式或绑定文件中未检测到更改 这是我pom.xml的摘录: 这是我收到的错误消息: 如果我交换执行块,则第一个总是执行,其余两个块得到相同的消息。 关于如何解决这个问题的任何想法? 问题答案: 通过升级到版本1.6进行了修复 和

  • 如何配置执行器/health以显示两个数据源的health状态?

  • 我有一个Gradle脚本,它使用flyway插件来创建一些数据库表,现在我需要更新该脚本,以便它可以与两组单独的flyway脚本一起工作,每个脚本更新一个单独的数据库。 在单数据库版本的脚本中,我只是这样做: 我一直在尝试声明一个新任务来运行第二个数据库的脚本: 我的Gradle技能很差,但我知道这不是正确的方法——我的理解是块会覆盖原始flyway配置,所以如果我想在之后运行,它会继续使用第二组