我尝试部署(包括迁移)生产环境。但是我的Django迁移(比如添加列)经常停止并且不再进展。
我正在使用postgresql 9.3,我找到了这个问题的一些原因。如果postgresql具有活动事务,则无法使用alter table query。所以到目前为止,在迁移之前重新启动postgresql服务是一个解决方案,但我认为这是一个坏主意。
有没有什么好主意可以很好地进行部署?
答案 0 :(得分:0)
打开连接可能会停止架构更新。如果您不能等待现有连接完成,或者您的环境使用了长时间运行的连接,则可能需要在运行更新时暂停所有连接。
如果你有一个可以保持在线的只读奴隶,那么停机时间,如果它可能对你很重要,可以减轻。如果没有,确保您的站点故障转移到某种错误/解释页面/重定向将至少避免原始故障代码响应,如果迁移停机时间可以接受请求。