【问题标题】:Manually marking flyway migration as completed手动将航路迁移标记为已完成
【发布时间】:2019-04-07 14:08:45
【问题描述】:

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

【问题讨论】:

    标签: scala migration flyway


    【解决方案1】:

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

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

    【讨论】:

    • 我很难相信没有官方的方法可以做到这一点。
    • @DavidDombrowsky 实际上我发现他们添加了一个跳过执行的选项(flywaydb.org/blog/skipexecutingmigrations)。但是,这个选项是在提出问题后添加的。
    猜你喜欢
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 2014-07-08
    相关资源
    最近更新 更多