web-dev-qa-db-ja.com

Django flush vs sqlclear&syncdb

違いがあるかどうか誰かにわかりますか

>manage.py flush  # or reset

そして

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

フラッシュは切り捨てられます(データを削除します)

sqlclearはドロップします(テーブル、したがってデータも削除します)

=>データベースに構造上の変更がある場合は、sqlclearを実行する必要があります(ただし、 south を使用することをお勧めします)

更新:

South は非推奨になりました。

Django 1.7以降、移行はDjangoのコアに組み込まれています。以前のバージョンを実行している場合は、 South を使用できます。

15
lajarre

の公式ドキュメント

フラッシュ および sqlclear

フラッシュはデータベース全体でSQLドロップを実行し、sqlflushはフラッシュが実際に実行されるSQLのみを出力します(これもデータベース全体で)。 sqlclearは、特定の1つまたは複数のアプリのSQLドロップを出力します。 flushとsqlflush/dbshel​​l/syncdbの両方がフィクスチャをインストールします。

4
Timmy O'Mahony