我想把GitOps介绍给我们公司。大多数情况下,我们有用Django编写的微服务(但是,它可以是任何其他的web框架)。我对数据库迁移有一个概念上的问题。前向迁移很容易:您可以将它们作为作业或init容器或舵手运行。然而,向后迁移又如何呢?假设我想从v1.1回滚到v1.0,而且我有一些迁移不适用。现在又怎样?我想用argo cd或者通量。
有一篇很好的文章:https://www.weave.works/blog/how-to-correctly-handle-db-schemas-during-kubernetes-rollouts。然而,它需要一些你在Django没有的纪律
发布于 2022-10-04 21:55:21
您可以应用的一种策略是,任何数据库迁移都应该向后兼容(特别是DDL),以便当您回滚到旧版本时,db状态仍然与旧版本兼容。这应该成为一个设计/架构指导方针。
例如:
作为migration
,
https://stackoverflow.com/questions/59845854
复制相似问题