为什么要使用django south?

为什么要使用django south?,django,django-south,Django,Django South,据我所知,django south非常类似于数据库模式的版本控制。但为什么在开发时它比python manage.py syncdb更好呢?我可以理解您是否真的启动了数据库,并且不能直接删除数据库,但我不认为在您可以直接删除数据库的情况下使用它有什么意义。它的目的是在生产环境中迁移架构。如果您运行的生产应用程序包含从用户收集的大量数据,然后您希望扩展一个表,那么必须删除数据库并丢失所有数据将是非常不幸的 它在开发过程中增加的好处是,消除了每次更改模型时删除数据库、重新同步数据库和创建新超级管理员

据我所知,django south非常类似于数据库模式的版本控制。但为什么在开发时它比python manage.py syncdb更好呢?我可以理解您是否真的启动了数据库,并且不能直接删除数据库,但我不认为在您可以直接删除数据库的情况下使用它有什么意义。

它的目的是在生产环境中迁移架构。如果您运行的生产应用程序包含从用户收集的大量数据,然后您希望扩展一个表,那么必须删除数据库并丢失所有数据将是非常不幸的


它在开发过程中增加的好处是,消除了每次更改模型时删除数据库、重新同步数据库和创建新超级管理员所需的时间。

在开发其他地方已经使用过的数据库时,删除数据库不是一个选项。在这种情况下,您需要在旧版本和新版本之间进行某种迁移
syncdb
不支持迁移,但South支持迁移。此外,您可以回滚到特定的迁移,轻松地让它在迁移之前和之后执行操作,等等。现在我对它很感兴趣,谢谢:)它还会更改models.py中的代码吗?还是我必须自己更改?不,它不会更改models.py中的代码,更改models.py后使用south,以确保数据库正确反映模型,而无需删除数据库。