djangoコマンドはありますか
A.すべてのテーブルを削除します
B.すべてのテーブルのすべてのデータを削除する
C.モデルで定義されているようにすべてのテーブルを作成しますか?
今は見つかりません!
そして、コマンドとは、次のような小さなことを意味します
runserver
等
djangoコマンドはありますか
A.すべてのテーブルを削除します
B.すべてのテーブルのすべてのデータを削除する
C.モデルで定義されているようにすべてのテーブルを作成しますか?
今は見つかりません!
そして、コマンドとは、次のような小さなことを意味します
runserver
等
A.すべてのテーブルを削除します
manage.py sqlclear
すべてのテーブルを削除するSQLステートメントを出力します
B.すべてのテーブルのすべてのデータを削除する
manage.py flush
syncdbが実行された直後の状態にデータベースを返します
C.モデルで定義されているようにすべてのテーブルを作成しますか?
manage.py syncdb
テーブルがまだ作成されていないINSTALLED_APPS内のすべてのアプリのデータベーステーブルを作成します。
すべてのコマンドのリファレンスについては、次のページを参照してください:https ://docs.djangoproject.com/en/dev/ref/django-admin/
しかし、誰かがすでに述べたように、あなたは間違いなく南を使うことを検討するべきです。これは、データベースを管理するための最良の方法です。
注意:syncdb
Django 1.7以降、移行を優先して非推奨になりました。
データベースにクライアントライブラリがインストールされている場合は、次のコマンドを実行できます。
python manage.py sqlflush | python manage.py dbshell
これはテーブルを削除しませんが、それらを切り捨てます。
すべてを一度に実行するコマンドはありませんが、この「ワンライナー」はすべてのテーブルを削除してから再作成します。これらのユーティリティをシェルで提供するシステムで実行している場合にのみ機能します。
echo 'from django.conf import settings; print settings.INSTALLED_APPS; quit();' | python manage.py shell --plain 2>&1 | tail -n1 | sed -r "s|^.*\((.*)\).*$|\1|; s|[',]| |g; s|django\.contrib\.||g" | xargs python manage.py sqlclear | python manage.py dbshell && python manage.py syncdb
すべてのテーブルを一度に削除することも、削除することもできません。どちらmanage.py sqlclear
もパラメータが必要です。manage.py reset
appname
Django Extensionsを確認する必要があります。これにより、manage.py reset_db
他の多くの便利な管理コマンドにアクセスできます。
django-southの使用をお勧めします。これにより、フィールドを追加するときだけでなく、フィールド/モデルを削除するときにも、モデルをデータベースに同期できます。私はそれがDjangoサイトを構築するための不可欠なコンポーネントであると本当に思っています。インストールすると、次のようなコマンドを実行できます。
./manage.py移行アプリゼロ
詳細については、 http: //south.aeracode.org/docs/about.htmlをご覧ください。
そして、django 1.5+のすべてのテーブルを削除するためのよりシンプルなワンライナー:
python2 manage.py sqlflush | sed 's/TRUNCATE/DROP TABLE/g'| python2 manage.py dbshell
テーブルを落とすことができました。走る
python manage.py sqlclear appname
与えられたコマンドに注意してください。次に実行します
python manage.py dbshell
最初のステップで与えられたコマンドを追加します。1行ずつ。完了したら、「。exit」と入力します(SQlite3の場合)。DBを再同期すると、準備が整います。確かに、次のテーブルを確認してください。
python manage.py shell
>>> from yourapp import yourclasses
>>> yourviews.objects.all()
[]を返す必要があります。これがお役に立てば幸いです。
AはBを意味しますよね?
Aについては、Djangoのmanage.pyCLIを使用してデータベースからすべてのテーブルを削除する方法を参照してください。
Cの場合、
python manage.py syncdb
もちろん、スマートなデータ移行については、@ bentoが述べたことを使用します:django-south