如何在运行syncdb后删除所有数据?

时间:2015-01-16 05:10:40

标签: python django python-2.7 django-1.7

我正在制作并刚刚运行syncdb但是我犯了一个错误,想要删除syncdb所做的事情,包括表中的所有数据都没问题。只是在数据库中重新开始,这样我就可以再次运行syncdb

(virtualenv-2.7)[root@server mysite]# python manage.py sqlclear mainapp | python manage.py dbshell
CommandError: One or more models did not validate:
app.comment: 'poster' defines a relation with the model 'auth.User', which has been swapped out. Update the relation to point at settings.AUTH_USER_MODEL.
app.myuser: The field named as the USERNAME_FIELD should not be included in REQUIRED_FIELDS on a swappable User model.

4 个答案:

答案 0 :(得分:0)

重新创建数据库可能是最好的方法。您也可以使用django-extensions包中的reset_db管理命令来执行此操作。

答案 1 :(得分:0)

Django 1.7支持migrate 您只需在编辑后再次运行python manage.py migrate。 更多功能:release note

答案 2 :(得分:0)

正如J0HN在评论中所说,开始新鲜事的最佳方法是实际上只删除数据库。我认为它可能会搞砸,但事实并非如此。只需登录mysql。

drop database whatever_your_database_name;
create databse whatever_your_database_name;

然后只需再次与python manage.py syncdb

同步

答案 3 :(得分:0)

也许是懒惰,但我跑了:

django-admin.py reset_db --router=default --noinput