【发布时间】:2017-11-08 17:20:58
【问题描述】:
允许 Django 应用程序的多个实例同时运行同一个数据库迁移是否安全?
场景描述
这是一个 Django 应用程序的多个实例在负载均衡器后面运行的设置。当 Docker 容器的更新版本可用时,每个旧 Docker 映像都将替换为新版本。
如果存在新的 Django 迁移,则需要运行它们。这就引出了一个问题:允许多个容器同时运行迁移 (python manage.py migrate) 是否安全?
关于这个问题的答案可能是什么,我有两个假设。
- 是的,它是安全的。由于数据库级锁定,迁移不会发生冲突,最终,一个迁移脚本将运行,而另一个报告没有要应用的迁移。
- 不,这不安全。这两个迁移在尝试修改数据库时可能会相互冲突。
【问题讨论】:
标签: django docker infrastructure