如何删除 运行 syncdb 之后的所有数据?
How do you remove all data after running syncdb?
我正在生产中,只是 运行 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.
重新创建数据库可能是最好的方法。您也可以使用 django-extensions 包中的 reset_db 管理命令来完成。
Django 1.7 支持migrate
您只需在编辑后再次 运行 python manage.py migrate
即可。
查看更多功能:release note
正如 J0HN 在评论中所述,重新开始的最佳做法实际上就是删除数据库。我以为它可能会把事情搞砸,但它不会。只需登录 mysql.
drop database whatever_your_database_name;
create databse whatever_your_database_name;
然后简单地与 python manage.py syncdb
再次同步
也许是懒惰,但我运行:
django-admin.py reset_db --router=default --noinput
我正在生产中,只是 运行 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.
重新创建数据库可能是最好的方法。您也可以使用 django-extensions 包中的 reset_db 管理命令来完成。
Django 1.7 支持migrate
您只需在编辑后再次 运行 python manage.py migrate
即可。
查看更多功能:release note
正如 J0HN 在评论中所述,重新开始的最佳做法实际上就是删除数据库。我以为它可能会把事情搞砸,但它不会。只需登录 mysql.
drop database whatever_your_database_name;
create databse whatever_your_database_name;
然后简单地与 python manage.py syncdb
也许是懒惰,但我运行:
django-admin.py reset_db --router=default --noinput