Flyway

时间:2017-07-18 20:08:02

标签: java database-migration flyway

我正在尝试使用Flyway来运行我的数据库迁移脚本。我有两个SQL脚本和一个我试图运行的Java脚本。当我运行./gradlew flywayMigrate或gradle flywayMigrate它只能获取SQL脚本而不是Java脚本。
我的项目设置如下:

  

database_migrations   
---> SRC   
------>主/ JAVA   
--------->分贝/迁移   
-------------V3__load_data.java   
------>主/资源   
--------->分贝/迁移   
------------- V1__base_table.sql   
------------- V2__stored_procedures.sql

我尝试了各种解决方案来运行java脚本,例如指定flyway.locations=classpath:db/migration,但这只会产生此输出Unable to resolve location classpath:db/migration。我已经尝试过移动其他包。我已经尝试将它放在一个罐子里并从命令行工具运行,但它并没有把它拿起来。我已经尝试过JDBCMigration和SpringJDBCMigration类。

我错过了应该如何运行的东西吗?

当我在我的jenkins实例中使用gradlew compileJava运行它时,它会抛出找不到tools.jar,不确定我是否相关

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。我发现问题是我的java_home没有指向任何地方。一旦我设置了我的代码编译但是仍然没有接受java迁移。我将-Dflyway.locations=classpath:db.migrations添加到我的gradle语句的末尾,它立即将其拾起!希望这有助于其他有需要的人!