Flyway Java迁移无法在命令行工具中运行

时间:2013-07-10 08:32:46

标签: java command-line flyway

我无法使用flyway命令行工具识别和执行Java迁移。

到目前为止我做了什么:

  1. 下载并解压Flyway(命令行版)
  2. 在conf目录中配置flyway.properties,设置以下属性
    • flyway.driver,flyway.url,flyway.user,flyway.password
  3. 将oracle JDBC驱动程序添加到jars目录
  4. 执行flyway.cmd init =>工作。历史表已创建。
  5. 在./sql目录V1_1__Some_sql.sql
  6. 中添加了一个SQL文件
  7. 执行flyway.cmd migrate =>工作。数据库已更改

    FINE SO FAR。按预期工作。现在有问题的部分:

  8. 在我的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();
          }
       }
    }
    
  9. 编译该类,将其放入名为V1_2__Another_test.jar的jar中

  10. 将jar放在sql或jar中并尝试运行flyway.cmd migrate。 => Flyway忽略了它。
  11. 试图将.class文件放入jar或sql => Flyway也忽略了它。
  12. 我使用的是Flyway 2.1.1。
  13. 我错过了什么?

2 个答案:

答案 0 :(得分:3)

你做的听起来不错。确保将您所在类所在的软件包添加到flyway.locations中,您应该很高兴。

答案 1 :(得分:0)

flyway.conf 文件中删除以下行。它会在发布后起作用。

flyway.jarDirs=None