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 回调

flyway 命令行工具 - 重新执行失败的 DDL 的选项是啥?

Flyway 命令行:无效参数:-placeholders

如何为 gradle 任务命令行参数提供 flyway 密码?

使用 DB2 驱动程序从 Flyway 命令行获取连接错误

FlyWay入门教程