如何安全地更新实时网站

use*_*478 7 versioning deployment django schema

我们有一个相当简单的基于Django的网站来进行CRUD操作.我一直在本地进行测试和开发,然后在测试完成后检查发布和数据库模式更改到实时服务器上.我们最近在发布某些类型的更改时遇到了问题.想象一下以下一系列事件:

  1. 用户打开Web表单
  2. 网站已更新为需要此表单上的新字段
  3. 用户提交他们一直在处理的表单
  4. 服务器返回错误,因为它希望接收在步骤2中添加的新字段

其他网站如何处理这些问题?我的想法:

  • 在进行更新时使网站脱机.这并没有真正解决问题,因为用户可以在提交之前将网络表单打开无限长时间,但在一定时间之后,任何人都不可能提交表单.
  • 在非常低的流量时间进行自动更新.再次,这并没有真正解决问题,但我们的网站不是那么受欢迎,如果我们在3:00a做了更新,我怀疑会有很多用户.这种技术的一个问题是失败的自动更新.
  • 版本控制表单,以便服务器识别出正在提交旧表单并提供更加用户友好的响应.有自动化工具可以帮助解决这个问题吗?

思考?

Pro*_*m.X 0

如果不在验证中编码发生更新的可能性,我看不出如何实现这一目标。例如。“预期”提交时字段可能会发生变化,并相应地设置默认值/拒绝。

随着维护窗口的临近,“缩减”内容提交的规模如何,以最大程度地减少那些保持浏览器打开状态的用户受到的影响?