南方在Django中的角色是什么?

时间:2014-04-17 15:21:34

标签: django django-south

我是Django的初学者。

我在一些应用程序的文档中遇到过南方。我想知道它是什么。

  

“South是一个提供一致,易于使用和工具的工具   Django应用程序的数据库无关迁移。“

我读到了它,但无法确定它到底发生了什么。

2 个答案:

答案 0 :(得分:2)

在Django 1.7之前,当您进行影响数据库结构的更改时(例如,在模型上的字段周围进行了更改),没有内置的方法migrations

South是填补这一空白的最受欢迎的第三方工具之一。它可以自动检测此类更改并为您编写迁移,并为您提供自行编写迁移的工具集,以用于更复杂的情况。

答案 1 :(得分:1)

South有助于使您的数据库与您的模型保持同步。 Django" syncdb"函数只会创建表,而不是修改。南方不是手动修改表格,而是拍摄模型的快照,然后创建/运行" migration"用于将数据库升级到(或返回)此模型快照的代码。

当您在一个团队中工作时,这将特别有用,在该团队中,每个开发人员都拥有一个拥有自己数据库的虚拟机,或者您正在从QA数据库迁移到生产数据库。