无法在位置扫描SQL迁移:classpath:db / migration

时间:2016-02-23 07:47:22

标签: java deployment flyway

我正在使用flyway进行SQL迁移,sql迁移对我来说非常有用。

现在我正在尝试使用Flyway进行简单的java迁移,下面是使用

的代码
package db.migration;

import org.flywaydb.core.api.migration.jdbc.JdbcMigration;
import java.sql.Connection;
import java.sql.PreparedStatement;

/**
 * Example of a Java-based migration.
 */
public class V2__Test implements JdbcMigration {
public void migrate(Connection connection) throws Exception {
    PreparedStatement statement =
        connection.prepareStatement("create table test (id int)");

    try {
        statement.execute();
    } finally {
        statement.close();
    }
}
}

我从这个类文件中创建了一个Jar文件,并将Jar文件放在Flyway_home / Jars文件夹下。后来我在配置文件中提到了db / migration,如下所示

flyway.locations=db.migration

此后我从cmd实用程序运行migrate命令,如下所示

flyway  -configFile=conf/flyway-fte-Data.conf migrate

我收到以下错误

ERROR: Unable to scan for SQL migrations in location: classpath:db/migration

这里缺少什么,有谁可以帮我解决这个问题。

注意:我没有使用任何插件,它只是flyway命令行Utility。

提前致谢。

1 个答案:

答案 0 :(得分:1)

该物业' flyway.locations'配置SQL迁移文件的位置,并且您希望运行java迁移文件。因此,当您在配置中注释掉此属性时,我认为它已经足够了,因为Flyway_home / jars文件夹是java迁移位置属性的默认值(' flyway.jarDirs')。下一个可能性是将此属性(' flyway.jarDirs')设置为您喜欢的jar位置。