Flyway 可以从 jar 迁移吗?

Posted

技术标签:

【中文标题】Flyway 可以从 jar 迁移吗?【英文标题】:Can Flyway migrate from jar? 【发布时间】:2018-08-28 12:23:27 【问题描述】:

我有一个内置到 jar 文件中的子项目。项目中有src/main/resources/db/migration/V1_1__create_table.sql

如何从这个 jar 运行迁移?

我试过这个./flyway migrate -url=jdbc:postgresql://127.0.0.1:5432/myproject -user=myproject -password=myproject -locations=classpath:~/src/myproject/target/myproject-0.0.1-SNAPSHOT.jar,但我得到了以下错误:

Database: jdbc:postgresql://127.0.0.1:5432/myproject (PostgreSQL 9.6) WARNING: Unable to resolve location classpath:~/src/myproject/target/myprojectn-0/0/1-SNAPSHOT/jar WARNING: Schema "public" has version 0.0.6, but no migration could be resolved in the configured locations !

如何从 jar 运行迁移?谢谢。

【问题讨论】:

【参考方案1】:

您必须将您的 jar 放在 <flyway-install>/jars 目录中并使用 -locations=classpath:db/migration

见https://flywaydb.org/documentation/commandline/#installation

【讨论】:

我试过./flyway migrate -url=jdbc:postgresql://127.0.0.1:5432/myproject -user=myproject -password=myproject -locations=classpath:db/migration,仍然在jar中找不到迁移文件。

以上是关于Flyway 可以从 jar 迁移吗?的主要内容,如果未能解决你的问题,请参考以下文章

Flyway 仅在我的 jar 文件中找不到迁移

使用flyway迁移到Google Cloud SQL,应该复制哪些jar文件?

Flyway db 首先迁移 Dependent Jar - Spring boot

可以重命名 Flyway 可重复迁移吗?

如何在 flyway 中压缩/合并迁移

Flyway - Flyway 架构迁移失败