Django flush vs sqlclear & syncdb
Может ли кто-нибудь сказать, есть ли разница между
>manage.py flush # or reset
и
>manage.py sqlclear appname | python manage.py dbshell
>manage.py syncdb
Ответы
Ответ 1
flush будет усекать (удалить данные)
sqlclear будет удаляться (удалять таблицу, поэтому данные тоже)
= > если у вас есть структурные изменения в вашем db, вам нужно сделать sqlclear (но лучше использовать South)
Update:
South устарел.
От Django 1.7 вверх, миграции встроены в ядро Django. Если вы используете предыдущую версию, вы можете использовать South.
Ответ 2
Официальные документы для
flush и
sqlclear
Flush выполняет SQL Drops на всем db, sqlflush только распечатывает SQL, который запустит фактический запуск (опять же на весь db). sqlclear распечатывает SQL Drops для определенного приложения или приложений. Оба флеша и sqlflush/dbshell/syncdb будут устанавливать светильники.