至少有两个第三方工具可以处理数据库架构迁移,South和Django Evolution。我没有尝试过它们中的任何一个,但我听说过South的一些好处,尽管Evolution存在更长时间。
此外,请查看Django Wiki上关于数据库迁移的SchemaEvolution页面。这只是一个关于迁移数据库的维基页面。
现在还有dmigrations。来自announcement:
django-evolution试图通过巧妙地检测模型中尚未反映在数据库模式中的更改,并找出需要执行的操作,以使两者重新同步来解决这个问题。相比之下,dmigrations采用了愚蠢的方法:它要求您明确声明一系列迁移中的更改,这些更改将依次应用于将数据库更新到反映底层模型的最新状态。
这意味着对于创建迁移的开发人员来说需要额外的工作,但它也使整个过程完全透明 - 对于我们的项目,我们决定采用可能起作用的最简单的系统。
(我加粗)