【问题标题】:Why use django-south?为什么使用 django-south?
【发布时间】:2012-10-16 22:19:42
【问题描述】:

据我了解,django-south 非常类似于数据库模式的版本控制。但是为什么在开发时它比 python manage.py syncdb 更好呢?我可以理解您是否已经真正启动并且不能只删除数据库,但是当您可以删除数据库时,我看不出使用它的意义。

【问题讨论】:

  • 当您正在开发已经在其他地方使用过的东西时,删除数据库不是一种选择。在这种情况下,您需要在旧版本和新版本之间进行某种迁移。 syncdb 不支持迁移,但 South 支持。

标签: django django-south


【解决方案1】:

它的目的是在生产环境中迁移模式。如果您正在运行一个生产应用程序,其中包含从用户那里收集的大量数据,并且您想要扩展一个表,那么不得不删除数据库并丢失所有数据真的很不幸。

它在开发过程中增加的好处是,您不必浪费时间删除数据库、重新同步数据库以及在每次更改模型时创建新的超级管理员。

【讨论】:

  • 另外,您可以回滚到特定的迁移,轻松让它在迁移之前和之后执行操作等...
  • 现在我卖掉了,谢谢 :) 它还会更改 models.py 中的代码还是我必须自己做?
  • 不,它不会更改 models.py 中的代码,您在更改 models.py 后使用 south 以确保您的数据库正确反映您的模型,而不必删除数据库。
猜你喜欢
  • 2014-08-23
  • 2017-06-26
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 2012-12-18
  • 2014-12-12
  • 1970-01-01
  • 2012-05-04
相关资源
最近更新 更多