Java 无法在以下位置扫描SQL迁移:classpath:db/migration
我正在使用flyway进行SQL迁移,SQL迁移对我来说非常有效 现在我尝试使用Flyway进行简单的java迁移,下面是我使用的代码Java 无法在以下位置扫描SQL迁移:classpath:db/migration,java,deployment,flyway,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 migra
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/迁移,如下所示
flyway.locations=db.migration
flyway -configFile=conf/flyway-fte-Data.conf migrate
在此之后,我将从cmd实用程序运行migrate命令,如下所示
flyway.locations=db.migration
flyway -configFile=conf/flyway-fte-Data.conf migrate
我得到下面的错误
ERROR: Unable to scan for SQL migrations in location: classpath:db/migration
我这里缺了什么,谁能帮我修一下吗
注意:我没有使用任何插件,它只是flyway命令行实用程序
提前谢谢 属性“flyway.locations”配置SQL迁移文件的位置,您需要运行java迁移文件。因此,我认为在配置中注释掉这个属性就足够了,因为Flyway\u home/jars文件夹是java迁移位置属性('Flyway.jarDirs')的默认值。下一种可能是将此属性('flyway.jarDirs')设置为您喜欢的jar位置。@SandrParsick,我对“flyway.locations”的注释已经厌倦了,但它说不需要迁移,甚至不需要识别jar文件,我想“数据库:jdbc:jtds:sqlserver://localHost/test (Microsoft SQL Server 11.0)已验证1迁移(执行时间00:00.359s)架构[dbo]的当前版本:1架构[dbo]是最新的。无需迁移。“我提到的当前java文件名版本为2,基线版本为1,因此理想情况下,它应该尝试迁移未发生的文件。请调用“flyway info”检查您的java迁移脚本是否被flyway@SandraPasrick,我厌倦了“飞行路线信息”,但这只显示了我的Jar文件没有被检测到的基线版本,我是否遗漏了什么,是否有什么需要更改的地方?这里是我用flyway java迁移文件构建Jar文件的步骤,这里是我的。当你将你的设置与我的设置进行比较时可能会有所帮助。谢谢你提供的详细信息,但我不想使用任何Pulgin's,我只是在命令行中尝试正常的飞行路线。我相信Pom设置是在我们使用Maven Pulgin right.2020时使用的,问题仍然存在,我只是放弃了编写基于java的迁移。它以插件的形式运行flyway,但当我使用该图像并尝试映射到flyway/jars卷并设置位置时,它会向我发出“找不到位置”的警告。