我只是无法使用 flyway 命令行工具识别和执行 Java 迁移。
到目前为止我做了什么:
- 下载并解压 Flyway(命令行版本)
- 在conf目录下配置flyway.properties,设置如下属性
- flyway.driver,flyway.url,flyway.user,flyway.password
- 将 oracle JDBC 驱动添加到 jars 目录
- 执行 flyway.cmd init => 工作。历史表已创建。
- 在 ./sql 目录 V1_1__Some_sql.sql 中添加了一个 SQL 文件
执行 flyway.cmd 迁移 => 工作。数据库已更改
到目前为止还不错。按预期工作。现在有问题的部分:
在我的 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 的 jar
- 将 jar 放在 sql 或 jars 中并尝试运行 flyway.cmd 迁移。=> Flyway 忽略它。
- 试图将 .class 文件放入 jar 或 sql => Flyway 也会忽略它。
- 我使用 Flyway 2.1.1。
我错过了什么?