我正在使用 sqlalchemy 编写一个 Web 应用程序。在网站未投入生产的第一阶段开发过程中,一切都很顺利。我可以通过简单地删除旧的 sqlite 数据库并从头开始创建一个新数据库来轻松更改数据库架构。
现在该站点正在生产中,我需要保留数据,但我仍然希望通过轻松地将数据库转换为新模式来保持我原来的开发速度。
所以假设我有版本 50 的 model.py 和版本 75 的 model.py,描述了数据库的模式。在这两个模式之间,大多数更改都是微不足道的,例如,使用默认值声明了一个新列,我只想将此默认值添加到旧记录中。
最终,一些更改可能不是微不足道的,并且需要一些预先计算。
您如何(或将)如何处理快速变化的 Web 应用程序,例如每天一到两个新版本的生产代码?
顺便说一句,如果这有什么不同的话,该站点是用 Pylons 编写的。