Django - migrate no migrations to apply(mysql)

Django 에서 model.py를 수정하고 변경하다 보면 오류가 발생한다.
그 중 볼수 있는 에러는 migrate 를 실행 했음에도 불구하고

python manage.py migrate

migrate no migrations to apply 라는 문구가 나오는 것이다.

나는 분명 DB 테이블도 다 날리고 django에 있는 migrations 파일도 삭제하고 새로 만들려고 하는데 migrate가 안되는 경우이다.

이때는 DB에 django_migrations 테이블을 살펴보자.

그림을 보면 내가 model.py를 변경하고 migrate 할때 생기는 데이터들이다.
저기에 같은 이름의 파일이 django migrations에 새로 생겼다고 해도 어떠한 수정이나 결과도 반영하지 않는다.

이것이 django의 시스템이다. 그러므로 데이터베이스 초기화 할때 저 테이블을 지워주던가 특정 이름과 중복되는 데이터를 DB에서 삭제 해줘야한다.

보통 0001_initial 파일이 중복되어 migrate no migrations to apply 를 보는 경우가 많다. 삭제~~

DB and migration 초기화

  • DB테이블 모두 삭제 or 데이터베이스 삭제
  • migrations 파일들 삭제
  • 명령문 python manage.py makemigrations [app이름]
  • python manage.py migrate

좋은 웹페이지 즐겨찾기