如何使用SQLAlchemy有效地管理频繁的模式更改?

15 浏览
0 Comments

如何使用SQLAlchemy有效地管理频繁的模式更改?

我正在使用SQLAlchemy编写一个Web应用程序。在开发的第一阶段中,当网站还未投入生产时,一切都很顺利。我可以通过简单地删除旧的SQLite数据库并从头开始创建一个新的数据库来轻松更改数据库架构。

现在网站已经投入生产,我需要保留数据,但我仍然希望保持原来的开发速度,通过轻松地将数据库转换为新的架构来实现。

假设我有一个model.py的50个修订版本和一个model.py的75个修订版本,描述了数据库的架构。在这两个架构之间,大部分变化都是微不足道的,例如声明了一个默认值的新列,我只想将这个默认值添加到旧记录中。

最终,一些变化可能不是微不足道的,需要进行一些预计算。

当你处理快速变化的Web应用程序时,比如每天有一两个新的生产代码版本,你会如何处理?

顺便说一下,该网站是用Pylons编写的,如果这有任何区别的话。

0