2013-01-18 66 views
0

只需使用flywaytest来测试我的应用程序。 我想知道是否有一种方法在导入迁移脚本后进行回滚。 如果我不清楚,只需要询问相关信息。回滚脚本迁移

感谢

+0

可能重复[如何使用Flyway回滚迁移?](https:// stackoverflow。COM /问题/ 4959299 /如何到卷回的迁移 - 使用 - 飞路) –

回答

4

你的问题不是很清楚,但如果你想回滚失败的迁移和重试这里有你需要采取的步骤:

  1. 如果您在schema_version查表你应该看到失败的脚本(state column = FAILED)。您需要更正此脚本,以免它再次失败。另外,如果某些脚本已成功完成,则可能必须手动恢复这些更改,因为再次运行这些更改可能会导致失败。

  2. 然后,您从表
    中删除此行。 delete from schema_version where state = 'FAILED';

  3. 然后将当前版本设置回失败之前的脚本。您可以通过将CURRENT_VERSION设置为1
    (例如, update schema_version set current_version = 1 where version = 1.XX;

  4. 然后,您可以尝试再次运行飞路迁移。

0

飞路不支持单行命令回滚,

有像mvn flyway:rollback没有命令,有2种方式,你可以做(​​IMO)

  1. 遵循@ user528827
  2. 答案
  3. 尝试使用导轨的迁移:)
1

在迁移期间出现问题时,flywaydb不支持回滚最好的用户是:

http://flywaydb.org/documentation/maven/repair.html

但你必须确保自己数据库中的数据的完整性。

如果您正在努力支持检查点的数据库,请始终建议在迁移之前执行检查点。

祝你好运