modelsを再定義した時にmigrationをやり直したい時があると思います。
そのままmigrateしても良いのですが、DBを消去してもう一度やり直したい時の方法です。
まずappディレクトリのmigrationsを消します。
cd [アプリケーション]
rm -d -r migrations/
プロジェクトのディレクトリに戻って、dbを消します(sqlite3の場合)
cd [プロジェクト]
rm -d -r db.sqlite3
そしてmigration
python manage.py makemigrations app
python manage.py migrate
管理ユーザーも消えるので、必要な場合はもう一度作ります。
python manage.py createsuperuser
この一連の流れをシェルスクリプトにしたので
必要な方はコピペでどうぞw
app名は適宜変更して下さい。
dbreset.sh
#!/bin/sh
cd app
rm -d -r migrations/
cd ..
rm -d -r db.sqlite3
python manage.py makemigrations app
python manage.py migrate
python manage.py createsuperuser
manage.pyがあるプロジェクトフォルダに置いておけばそのまま動きます。
コンソールから
bash dbreset.sh
でどうぞ!