如何在Flyway Scala中回滚迁移?

时间:2017-03-26 08:26:08

标签: scala sbt flyway

我刚刚进行了迁移file.sql以向数据库添加新表,并运行了flywayMigrate命令sbt flywayMigrate。现在我意识到我错过了在同一个表中添加两列。我可以选择编写另一个迁移,但是当我可以回滚并更改我刚创建的表以及向其添加两个列时,我不想增加迁移次数。您能告诉我如何回滚一些迁移并进行更改,然后再次运行sbt flywayMigrate

2 个答案:

答案 0 :(得分:2)

您不必重新运行整个迁移。飞路用于元数据的表格我认为它被称为schema_version。您可以设置上次应用的迁移ID(有一些哈希要设置为IIRC,但是如果它们不匹配,您将能够从错误消息中找出它们)并且flyway将从那里获取。

答案 1 :(得分:0)

Flyway FAQ中所述,不支持回滚脚本。

您可以选择:

  • 从备份恢复数据库
  • 删除并重新创建数据库,重新运行所有迁移脚本
  • 手动回滚迁移并从元数据表中删除其记录