我的天桥配置-使用mvn包运行天桥。
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>4.2.0</version>
<configuration>
<locations>
<location>db.migration.h2</location>
</locations>
</configuration>
</plugin>我有一个maven应用程序,它可以很好地工作在一个DB (使用h2数据库引擎),我需要支持天桥到其他DB系统(db2,oracle,postgres )。在另一个项目中,我们正在执行类似的天桥配置文件,用于管理H2和timesten之间的表cration。
(新发现)当我在hte文件中使用天桥位置或配置文件条目时。"mvn清洁包“的工作非常好使用。但是,"mvn验证“给出了一个错误,即它有多个V#_#文件。
我在下面的目录结构中有H2天桥文件
atdd/src/main/java/db/migration/V1_2__comment.java
atdd/src/main/resources/db/migration/V1_1__create_tables.sql我在迁移中创建了一个子目录"h2“,并将天桥文件移到该子目录中。
我复制了那些文件的db和oracle版本,这些文件位于“db/迁移/db2”和“db/迁移/oracle_ ee”中。
运行maven包只会给我提供:
Caused by: org.flywaydb.core.api.FlywayException: Found more than one migration with version 1.1
Offenders:
->/Users/XXXXX/Documents/fun/atdd/target/classes/db/migration/h2/V1_1__create_tables.sql (SQL)
->/Users/xxxxxx/Documents/fun/atdd/target/classes/db/migration/db2/V1_1__create_tables.sql (SQL)我尝试过使用属性文件,但这也不起作用。
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>4.2.0</version>
<configuration>
<configFile>./flyway.properties</configFile>
</configuration>
</plugin>atdd/flway.properties有
flyway.locations=db.migration.h2似乎是一个问题,什么时候运行回归测试(肯定火插件-我是相当新的maven),有什么特别的肯定火插件吗?
发布于 2017-06-06 17:06:52
我能够通过向故障安全插件中添加配置参数来工作。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version><!--$NO-MVN-MAN-VER$ -->
<configuration><argLine>-Dflyway.locations=db.migrtion.h2</argLine></configuration>
<executions>使用
mvn clean package verify site -Dflyway.locations=db.migration.h2 奇怪的是如果我没有"-Dflyway.locations=db.migration.h2“
发布于 2017-05-27 12:17:35
有一个解决办法,您可以尝试使用Flyway.setLocations ("some/path/test.sql")显式地从您的程序中设置位置。
发布于 2017-06-03 05:35:25
Flyway递归地搜索整个类路径,寻找要应用的迁移。“递归”字意味着检查嵌套在其他文件夹中的文件夹。
所以所有的SQL文件都被找到了。天桥无法知道哪些嵌套文件夹应该被使用或者应该被忽略。
正如另一个答案所示,如果希望忽略所需文件夹,则必须显式地指定它们。
https://stackoverflow.com/questions/44206049
复制相似问题