【问题标题】:Flyway maven plugin, location with multiple modulesFlyway maven插件,具有多个模块的位置
【发布时间】:2014-03-07 14:35:15
【问题描述】:

我有以下问题。

我有 maven 多模块项目,结构如下:

Parent
|
|_____DB-Setup
|        |______V1__init.sql
|        |______V1.1__update.sql
|
|_____Modul1
|        |____src/*
|            
|_____Modul2
         |____src/*

我如何使用 maven 说 Flyway 我的 SQL 脚本位于 Parrent/DB-Setap 下?

谢谢。

<!--FlyWay -->
        <plugin>
            <groupId>com.googlecode.flyway</groupId>
            <artifactId>flyway-maven-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <url>jdbc:xxxx</url>
                <user>xxx</user>
                <password>xxx</password>
                <validateOnMigrate>true</validateOnMigrate>                   
            </configuration>               
        </plugin>

谢谢。

【问题讨论】:

    标签: maven flyway


    【解决方案1】:

    Flyway 正在您的 classpath 中查找目录 db/migration

    所以如果你把你的脚本放在DB-Setup/db/resources 下应该没问题。

    或者,您可以覆盖 Flyway 的 locations 属性,如下所述:

    http://flywaydb.org/documentation/migration/sql.html

    【讨论】:

      【解决方案2】:

      您有三个选择:

      1. 将 DB-Setup 转换为适当的 Maven 模块,并让其他模块依赖它。将脚本放在 DB-Setup/src/main/resources 下。然后,您将能够直接从其他模块使用 Flyway Maven 插件和 API。

      2. 将 DB-Setup 转换为适当的 Maven 模块并在那里执行 Flyway Maven 插件。

      3. 将 DB-Setup 保留为一个简单目录并使用文件系统:Flyway Maven 插件配置中的 location 来引用存储 sql 迁移的路径。

      我的偏好是#1 或#2。

      【讨论】:

        猜你喜欢
        • 2019-12-21
        • 2016-05-05
        • 1970-01-01
        • 2011-09-03
        • 2021-01-18
        • 2015-11-23
        • 1970-01-01
        • 2018-10-17
        • 1970-01-01
        相关资源
        最近更新 更多