我们在做 Flask 项目的时候用了 alembic 做 migration。现在我和另外一位工程师对于 migration 的时机,两个人的意见不太一致:
观点 1:在环境部署的时候就跑 alembic,把 schema upgrade 运行完毕,如果有数据迁移的脚本则运行脚本。结束后认为部署完毕,然后开始启动各种应用层服务。综合来说也就是应用层和 schema / data migration 解耦。
观点 2:alembic schema migration 和数据 migration 不由部署来控制,而是在应用层运行前触发。如果有多个独立应用服务对 migration 有依赖,每个应用服务都在启动前触发 migration。综合来说也就是部署逻辑和 schema / data igration 解耦。
想虚心请教下大家的意见。谢谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.