1
我只是无法使用flyway命令行工具来识别和执行Java迁移。Flyway Java迁移不能在命令行工具中工作
我做了什么至今:
- 下载并解压缩迁飞(命令行版本)
- 在conf目录配置flyway.properties,设置以下属性
- flyway.driver,迁徙路线。 URL,flyway.user,flyway.password
- 添加Oracle JDBC驱动程序的目录罐子
- 已执行flyway.cmd init =>已工作。历史记录表已创建。
- 增加了一个SQL文件到./sql目录V1_1__Some_sql.sql
执行的flyway.cmd迁移=>工作。 DB被改变了
FINE SO FAR。按预期工作。现在有问题的部分:
在我的IDE中创建一个Java类。
public class V1_2__Another_test implements JdbcMigration { public void migrate(Connection connection) throws Exception { PreparedStatement statement = connection.prepareStatement("INSERT INTO flyway_sample (name) VALUES ('My Name')"); try { statement.execute(); } finally { statement.close(); } } }
编译的类,把它放入一个罐子名V1_2__Another_test.jar
- 放在罐子中的SQL或罐子,并试图flyway.cmd运行迁移。 => Flyway忽略它。
- 试图将.class文件放入jar或sql => Flyway也忽略它。
- 我使用Flyway 2.1.1。
我错过了什么?
谢谢,给flyway.locations的包名是缺失的部分。现在它似乎工作。 – magicroomy
我已经提到了位置。仍然它不工作。 'flyway.jarDirs = D:/Software/dbmigrationtool/flyway-4.0/jars flyway.locations = classpath:db.migration,filesystem:D:/ Workspace/Commercial/commercial/CCPlatform/src/main/database/oracle/update_tanant ' – iMBMT