首页 > 解决方案 > 手动将航路迁移标记为已完成

问题描述

几天前我们犯了一个错误。我们有一个 Kubernetes 集群,它的管道会在 25 分钟内超时,这意味着如果没有在 25 分钟内完成部署,它将失败。我们部署了一个 flyway 迁移,其中涉及一些运行一个多小时的查询。愚蠢,我知道。现在我们手动运行迁移中的查询,我们希望手动将 flyway 迁移标记为已完成,否则重新部署将不起作用。有没有办法做到这一点?

标签: scalamigrationflyway

解决方案


所以我们最终在数据库中手动插入了一个迁移行。flyway 在您的架构中保留一个表 flyway_schema_history。如果您在那里手动插入一行,它将跳过迁移。唯一棘手的部分是计算校验和。您可以在本地迁移,获取校验和并将其注入实时数据库,或者只是自己重新计算校验和。

您将在 AbstractLoadableResource 类中找到他们如何计算校验和。


推荐阅读