我正在使用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。
提前致谢。
答案 0 :(得分:1)
该物业' flyway.locations'配置SQL迁移文件的位置,并且您希望运行java迁移文件。因此,当您在配置中注释掉此属性时,我认为它已经足够了,因为Flyway_home / jars文件夹是java迁移位置属性的默认值(' flyway.jarDirs')。下一个可能性是将此属性(' flyway.jarDirs')设置为您喜欢的jar位置。