java命令行flyway迁移
Posted
技术标签:
【中文标题】java命令行flyway迁移【英文标题】:java command line flyway migration 【发布时间】:2016-09-24 02:53:16 【问题描述】:我为命令行 java 迁移做了以下步骤:
-
创建java文件
package db.migration;
import org.flywaydb.core.api.migration.jdbc.JdbcMigration;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class V1_0_1_1210__Test implements JdbcMigration
@Override
public void migrate(Connection connection) throws Exception
//add insert stmt
-
创建它的 jar V1_0_1_1210_TEST.jar 并添加到
flyway location\jars
文件夹中。
在flyway中设置flyway.locations=classpath:db.migration
到conf文件中
当我执行迁移命令时,它会抛出类似警告
警告:无法解析位置类路径:db/migration
请检查下面的图片,它实际上是 jar。我提取的更多信息。
【问题讨论】:
我认为没有类路径的普通文件夹结构db/migration
就足够了。
如果你没有定义类路径,那是默认的。我已删除但仍然相同的错误
嗯,我认为flyway在资源文件夹中查找sql脚本,所以我不确定它是否在源文件夹中找到了类。该命令是否在没有 flyway 的情况下工作?
【参考方案1】:
由于这是一个 Spring JDBC 迁移,而不仅仅是一个普通的 Jdbc 迁移,您还需要 <flyway-install-dir>/jars
文件夹中的 Spring JDBC jar 及其依赖项。
【讨论】:
请检查更新的问题。我删除了 spring jdbc 迁移。它仍然不起作用。你能告诉我需要在类路径中提供什么吗?它还没有解决类路径问题 谢谢。我不懂诶。因为我现在使用了普通的 jdbc 迁移。但我面临与找不到类路径的问题。以上是关于java命令行flyway迁移的主要内容,如果未能解决你的问题,请参考以下文章
flyway 命令行工具 - 重新执行失败的 DDL 的选项是啥?