【发布时间】:2017-08-18 23:49:55
【问题描述】:
我刚刚进行了迁移file.sql 以将新表添加到数据库中,然后我运行了flywayMigrate 命令sbt flywayMigrate。现在我意识到我错过了在同一个表中添加两列。我可以选择编写另一个迁移,但是当我可以回滚并更改刚刚创建的表并添加两列的迁移时,我不想增加迁移的数量。你能告诉我如何回滚一些迁移并更改它们,然后再次运行 sbt flywayMigrate 吗?
【问题讨论】:
我刚刚进行了迁移file.sql 以将新表添加到数据库中,然后我运行了flywayMigrate 命令sbt flywayMigrate。现在我意识到我错过了在同一个表中添加两列。我可以选择编写另一个迁移,但是当我可以回滚并更改刚刚创建的表并添加两列的迁移时,我不想增加迁移的数量。你能告诉我如何回滚一些迁移并更改它们,然后再次运行 sbt flywayMigrate 吗?
【问题讨论】:
您不必重新运行整个迁移。有一张 flyway 用于元数据的表,我认为它称为schema_version。您可以设置最后应用的迁移 id(有一些哈希要设置 IIRC,但如果它们不匹配,您将能够从错误消息中找出它们)并且 flyway 将从那里拾取。
【讨论】:
如@987654321 中所述,不支持回滚脚本。
您可以选择:
【讨论】: