运行 flyway java 迁移

Posted

技术标签:

【中文标题】运行 flyway java 迁移【英文标题】:Running a flyway java migration 【发布时间】:2016-12-12 22:37:35 【问题描述】:

我无法运行基于 java 的迁移。我已经看到了很多关于此的问题,但无法使其正常工作。

我正在使用 scala 编写迁移,但我认为这不应该是问题。

我在 db.migration 包中创建了 2 个迁移 --

package db.migration 

class V2016_08_06_04_42_00__Migrate_first extends JdbcMigration /* impl */
class V2016_08_06_06_05_00__Migrate_second extends JdbcMigration /* impl */

接下来我创建JAR并将其复制到flyway/jars目录,然后从命令行执行以下内容

flyway -jarDir=/Users/jason/flyway/jars -locations=db.migration -url=jdbc:postgresql://localhost/test migrate

迁移运行,但它报告数据库是最新的,没有新的迁移要运行(最新的迁移版本2016.07.18.12.30.02)。

更新 我升级到最新的 Flyway (4.0.3),现在我收到以下错误:

ERROR: Unable to resolve Jdbc Java migrations in location: classpath:db/migration

【问题讨论】:

【参考方案1】:

这是操作员错误 - 我的迁移代码需要我没有提供的配置设置。通过将 -X 开关添加到命令行并查看调试输出,我能够诊断出问题。

【讨论】:

btw - 我花了太长时间调试问题 b/c 我不知道 -X 开关。我打开了一个关于 flyway 的问题,希望他们能让这种方式在未来变得更加明显:github.com/flyway/flyway/issues/1396

以上是关于运行 flyway java 迁移的主要内容,如果未能解决你的问题,请参考以下文章

运行 flyway java 迁移

Flyway 数据库迁移在部署新战争时自动运行

迁移前的 Flyway 回调

flyway 后的 Flyway 迁移错误:基线

flyway迁移后运行data.sql文件

Flyway 可重复迁移随机运行