※2023年1月5日に書いた記事です。
左手首を痛めているmizkyです。
DjangoでMigrateの際に発生した以下のエラーが発生しました。
(1054, "Unknown column 'name' in 'django_content_type'")今回はこちらのエラーの対処方法を備忘録として書きます。
エラー発生までの経緯
Djangoで使用していたDB(データベース)の移行を、以下の手順で行いました。
- 旧DBから移行に必要なデータをdump(ダンプ)
- 新DBにダンプデータを取り込み
- マイグレート処理
今回はこの手順3で上記の1504エラーが発生しました。
対処方法
以下の手順でエラー対処しました。
1. DBからマイグレーション情報を削除
Python manage.py dbshellでDBにアクセスし、
Delete from djnago_migrationsで、保存しているdjangoのマイグレーション情報を削除しました。
2. 全てのアプリケーションのマイグレーションファイルを削除
rm -rf <app>/migrations上記のコマンドで自身が作成した全てのアプリケーションのマイグレーションファイルを削除しました。
3. フェイクマイグレートの実行
この段階でDBとマイグレーションの間に不整合が発生しているため、
python manage.py migrate --fakeで、一度フェイクマイグレートを行いました。
4. マイグレーションファイルの作成
手順2.でマイグレーションファイルを削除したので
python manage.py makemigrationsで、マイグレーションファイルを再作成しました。
5. 全てのマイグレーションファイルを適用済みにする
手順4で作成されたプロジェクト内のマイグレーションファイルの一部は未適用となっているため
python manage.py migrate --fake-initialで、適用済みにしました。
以上でエラー対処完了です。

コメント