【发布时间】:2012-08-09 01:31:04
【问题描述】:
我只是在配置和完全理解flyway的过程中,我遇到了这种情况:
- 我成功配置了一个新项目以使用 flyway。
- 我成功地将测试数据库从版本 0 迁移到 1.0.3。
- 迁移到版本 1.0.4 未能执行。 (我试图添加已经存在的列,到目前为止没有问题,我的错。)
但是,一旦我对相应的脚本进行了必要的更改以使其正常工作,flyway 一直显示此消息:
Current schema version: 1.0.4
com.googlecode.flyway.core.migration.MigrationException: Migration to version 1.0.4 failed! Please restore backups and roll back database and code!
由于我不想恢复完整的转储并再次应用每个迁移,只是为了使更改表脚本正常工作,所以我最终对“schema_version”表进行了一些更改:
- 第一次我删除了版本 1.0.4 的条目
- 第二次我将版本 1.0.3 的 'current_version' 字段设置为 1
- 然后再次执行 flyway:migrate 命令
在此之后,最终应用了迁移并显示了成功消息,但是我不太确定这是否是处理这种情况的正确方法。我不确定自己是否有权修改“schema_version”表,因为我认为它只能由 flyway 本身修改。
所以,在解释了发生在我身上的事情之后,我的问题是:
有没有办法“重试”在 flyway 中应用失败的迁移,而无需自己修改“schema_version”表?
任何我不知道的命令来完成这个任务?
【问题讨论】:
标签: flyway