web-dev-qa-db-ja.com

Django 1.9)のDB(sqlite3)を最初から削除するにはどうすればよいですか?

モデルでスペルミスをしたため、列の1つにスペルミスがあります。データベース内のすべてのテーブルを削除し、model.pyのエラーを修正して、モデルの正しいスペルでデータベースを再作成します。

この記事 の提案を使用しようとしましたが、そこに概説されているコマンドを実行した後も、テーブルはまだ存在しています。

誰でもこれを行う簡単な方法はありますか?

17
Dan
  1. sqliteデータベースファイルを削除する(多くの場合db.sqlite3)をDjangoプロジェクトフォルダー(またはそれを配置した場所)に
  2. 削除__init__.pyファイルを除くすべてmigrationすべてのDjangoフォルダ内のフォルダ
  3. モデルに変更を加えます(models.py)。
  4. コマンドを実行python manage.py makemigrationsまたはpython3 manage.py makemigrations
  5. 次に、コマンドpython manage.py migrateを実行します。

それで全部です。

モデルへの変更がmakemigrationsコマンドで検出されない場合は、 この答えを確認してください

38

rm -f tmp.db db.sqlite3 rm -r my-app/migrations python manage.py makemigrations python manage.py migrate

データベースを削除します。
アプリから移行を削除します。
移行を再実行します。注:次のこともできます:python manage.py makemigrations my-app
変更を移行します。

3
Zaeem

Sqliteファイルを削除するだけです。

あなたの質問については、Django移行システムを使用して、makemigrationsおよびmigrateコマンドを使用してプロジェクトのデータベース変更を行う必要があります

移行ドキュメント

0
iklinac