scala - 手动将航路迁移标记为已完成
问题描述
几天前我们犯了一个错误。我们有一个 Kubernetes 集群,它的管道会在 25 分钟内超时,这意味着如果没有在 25 分钟内完成部署,它将失败。我们部署了一个 flyway 迁移,其中涉及一些运行一个多小时的查询。愚蠢,我知道。现在我们手动运行迁移中的查询,我们希望手动将 flyway 迁移标记为已完成,否则重新部署将不起作用。有没有办法做到这一点?
解决方案
所以我们最终在数据库中手动插入了一个迁移行。flyway 在您的架构中保留一个表 flyway_schema_history。如果您在那里手动插入一行,它将跳过迁移。唯一棘手的部分是计算校验和。您可以在本地迁移,获取校验和并将其注入实时数据库,或者只是自己重新计算校验和。
您将在 AbstractLoadableResource 类中找到他们如何计算校验和。
推荐阅读
- flutter - 在颤振中延迟 webview 加载并有一个进度指示器,直到 url 完全加载
- react-native - 如何为a的宽度和高度设置动画
在 React Native 中? - java - 如何在 java 中使用 BufferedReader 从系统获取超过 5118 个字符的输入?
- c++ - 对象删除后对成员变量的引用会损坏吗?
- mysql - 如何使用“INSERT (name, ...) INTO table SELECT name, ... FROM table_2”只插入不具有相同'NAME'的行?
- node.js - 一个 Redis 连接可以服务一千个并发用户吗?
- asp.net - 如何在 ASP.net MVC 中存储更改的数据?
- python - Parquet 数据库的组织和重复数据删除
- apache-spark - 单一地点的 Spark 模式管理
- applescript - posix无法将文件转换为类型文件