Djangoのマイグレーションとデータベースのリセット方法

Djangoでモデルの追加や拡張を繰り返していたらエラーが発生し、動かなるというケースに遭遇しました。

開発段階であればとにかく一度リセットしてやり直すことができます。DBの情報も全て吹っ飛ばしてOKなケースについて、方法をメモします。

データベースの情報も全て吹っ飛ばす

1. プロジェクト内にある全てのマイグレーションファイルを削除

Djangoのプロジェクト、アプリケーションにあるmigrationsディレクトリ、その中にある__init__.py以外のファイルを削除します。

LinuxとかMacなら次のコマンドで一掃できます。

find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc"  -delete

2. データベースを削除

db.sqlite3があるならそれを削除。PostgreSQLなど他のDBを使っている場合はデータベースごとDROPします。

3. マイグレーションファイルの作成とデータベースの生成

python manage.py makemigrations
python manage.py migrate

まとめ

マイグレーション・データベースのリセット方法をまとめました。開発段階ならとりあえずこれでOKかと思います。本番環境での実行はダメ!絶対!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください