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迁移到Google Cloud SQL,应该复制哪些jar文件?