やりたい事
マイグレーションとデータベースを完全にリセットし、プロジェクトを最初に作成した時のようにmakemigrationsとmigrateを実行したい。
アプリ名を指定しないとmakemigrationsで『No changes detected』になってしまう。
データベースを完全にクリアして各アプリケーション内の__migrations__ディレクトリを丸ごと削除し____pycache____も削除したが、__makemigrations__を実行すると__No changes detected__と出力される。もちろん、ここで__アプリ名を指定してmakemigrations__を実行すると正常にマイグレーションファイルは作成される。
python ./manage.py makemigrations appname
原因
そもそも__migrationsディレクトリ__と内包する____init__.py__を削除してはいけなかった。
解決
migrations__ディレクトリ内の__init__.py__ファイル以外を削除するか、ディレクトリごと削除してから__migrationsディレクトリ__と____init__.py__を作成する事で解決。
rm appname/migrations/*.py
rm appname/migrations/__pycache__/*.pyc
touch appname/migrations/__init__.py
# 私のDBはMySQLです。
cat <<__END_DDL__ | mysql -uroot
DROP DATABASE appname;
CREATE DATABASE appname;
__END_DDL__
python ./manage.py makemigrations
python ./manage.py migrate