2017-02-10 12 views
0

私のモデルでスペルミスをしましたが、今度は自分の列の1つにスペルミスがあります。私はデータベース内のすべてのテーブルを削除し、model.pyのエラーを修正し、モデル内の正しいスペルでデータベースを再作成したいと思います。Django 1.9でDB(sqlite3)をゼロから削除するにはどうしたらいいですか?

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

誰もがこれを行うための簡単な方法がありますか?

答えて

2
  1. は、あなたの中のsqliteデータベースファイル(しばしばdb.sqlite3)を削除し、あなたがmakemigrationsを使用してプロジェクトのためのデータベースの変更を行うにはDjangoの移行システムを使用して移行する必要がありますdjangoプロジェクトフォルダ(またはあなたが置いた場所)
  2. __init__.py以外のファイルmigrationすべてのdjangoアプリ内のフォルダ
  3. モデルを変更してください(models.py)。
  4. コマンドを実行しますpython manage.py makemigrationsまたはpython3 manage.py makemigrations
  5. 次にコマンドpython manage.py migrateを実行します。

それだけです。

+0

を削除しないでください。私はいくつかの異なる場所でタイプミスがあったことが分かりました。一度それらを混ぜると、このすべての提案が働いた。ありがとうございました! – Dan

0

あなたは自分のsqliteファイルを削除することができます。

あなたの質問について、あなたはコマンド

migration docs

+0

私はゴミ箱にdb.sqlite3ファイルを移動しました。私はmakemigrationsにしようとするとき、私はこのエラーが表示されます: "django.core.exceptions.FieldError:CompanyProfileに指定された不明なフィールド(company_industy)" company_industyは私が修正したいです。 – Dan

+0

以前のマイグレーションをすべて削除していると考えている場合は、マイグレーションファイルをデバッグして問題のある場所を確認してください。 – iklinac

+0

マイグレーションファイルを削除した場合は、__init__ファイル –

2

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
変更を移行します。

+0

それは私のために働いた –

関連する問題