完成django DB重置

as.*_*as. 17 python django

如何完全重置我的Django(1.2 alpha)数据库(丢弃所有表,而不是仅仅清除它们)?

manage.py flush做得太少(如果有架构更改将无法工作)并manage.py reset要求我指定所有应用程序(并且看起来采用的格式与".join(INSTALLED_APPS)"不同).我可以用DB特定的方式实现这一点,但我认为必须有一个理智的,DB后端不可知的方式来做到这一点.

[编辑:我在寻找的东西,我可以从一个脚本,例如一个Makefile调用和继续,如果我改变后端数据库或添加到工作settings.INSTALLED_APPS]

Zac*_*ach 17

此代码段为您提供了manage.py reset_db可以安装的命令的代码,这是解决问题的最小更改


那说,从下面的评论:

您也可以安装Django命令扩展来获取reset_db和其他好东西:https: //github.com/django-extensions/django-extensions

  • 您也可以安装Django命令扩展来获取reset_db和其他好东西:http://code.google.com/p/django-command-extensions/ (7认同)
  • 要完成@abstraktor注释:在输入`python manage.py reset_db`之前,你需要在项目中启用django_extensions,你需要将它添加到项目settings.py文件中的INSTALLED_APPS:_`INSTALLED_APPS =(...'django_extensions', ...)`[见文档](https://github.com/django-extensions/django-extensions) (4认同)
  • 它只是:`pip install django-extensions`然后`python manage.py reset_db` (3认同)