migrate後にテーブルを削除
python manage.py makemigrations/migrateした後にpostgresqlのテーブルの一部またはデータベースを削除してみた。そこからもう一度python manage.py makemigrations/migrateしてみたけど新たにテーブルを作成することができなかった。no change detected という結果のみになった。新しくテーブルを作るにはどうすればいいのか?キャッシュとかが関係しているのか?
通常migrationsファイルを設計書としてテーブルに変更を加えるはずである。理由が判明したら更新したい。
pycacheがどこにあるか
pycacheがどこにあるか探してみた。一つはdjangoプロジェクトの本体アプリケーション内に存在する。具体的にはsettings.pyやwsgi.pyがあるディレクトリに__pycache__として存在している。__pycache__には__init__.cpython-36.pyc,settings.cpython-36.pyc,wsgi.cpython-36.py,urls.cpython-36.pycが入っていた。
その他にhomeディレクトリに.cacheがある。その中にはpip,abrtがあった。
その他にはアプリディレクトリのmigrationsディレクトリの中に__pycache__があった。
[application_name] | |--__pycache__ --------__init__.cpython-36.pyc |--__init__.py |---settings.cpython-36.pyc |--settings.py |---wsgi.cpython-36.pyc |--wsgi.py |---urls.cpython-36.pyc