Jibin
Jibin

Reputation: 3102

Django flush vs sqlclear & syncdb

Can anyone tell if there is a difference between

>manage.py flush  # or reset

and

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

Upvotes: 25

Views: 39147

Answers (2)

lajarre
lajarre

Reputation: 5162

flush will truncate (delete data)

sqlclear will drop (delete table, thus data too)

=> if you have structural modifications in your db, you have to do sqlclear (but better use south)

Update:

South has been deprecated.

From Django 1.7 upwards, migrations are built into the core of Django. If you are running a previous version, you can use South.

Upvotes: 20

Timmy O'Mahony
Timmy O'Mahony

Reputation: 53999

Official docs for

flush and sqlclear

Flush carries out the SQL Drops on the entire db, sqlflush only prints out the SQL that flush would actual run (again on the entire db). sqlclear prints out SQL Drops for a particular app or apps. Both flush and sqlflush/dbshell/syncdb will install fixtures.

Upvotes: 5

Related Questions