左手首を痛めている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
で、適用済みにしました。
以上でエラー対処完了です。

「mizky」で「みずき」と読みます。エンターテイナーになりたい。普段はサラリーマン(気持ちは引き篭もりニート)。アプリ開発、HP運営、投資など手広くやっております。九州大学大学院卒業。趣味は旅行、レースゲーム。
コメント