Django flush vs sqlclear&执行syncdb

时间:2011-09-29 13:27:40

标签: django reset flush django-syncdb syncdb

任何人都可以判断

之间是否存在差异
>manage.py flush  # or reset

>manage.py sqlclear appname | python manage.py dbshell
>manage.py syncdb 

2 个答案:

答案 0 :(得分:14)

flush将截断(删除数据)

sqlclear将丢弃(删除表,因此也是数据)

=>如果您的数据库中有结构修改,则必须执行sqlclear(但最好使用south

更新

South已被弃用。

从Django 1.7开始,迁移被构建到Django的核心。如果您运行的是以前的版本,则可以使用South

答案 1 :(得分:4)

的官方文档

flushsqlclear

Flush在整个数据库上执行SQL Drops,sqlflush只打印出实际运行的刷新的SQL(再次在整个数据库中)。 sqlclear打印出特定应用程序或应用程序的SQL Drops。 flush和sqlflush / dbshel​​l / syncdb都将安装fixture。