Django migrate 초기화 해도 안될때

노광오·2020년 6월 18일
3

Django

목록 보기
4/7

앞으로는 파일을 다 지우고 처음부터 새로 만들 일이 적어질꺼 같다

우선 내 증상은 models.py에 들어가있던 field들이 makemigrations를 하게되면 삭제가 되는것 이었다. 코딩에도 오류가 있었어서 수정하고 난 뒤 migration 파일안에 있는 __init__.py만 남기고 나머지 파일들을 다 지워야 하는데 이것은 migration만 초기화 하게 된 것이다.
이 상태로 다시 migration을 해도 migrate를 한 기록들이 남아있어 오류가 완전히 해결이 되지 않을 수가 있다. 이럴때는 migrate기록도 같이 초기화 해 주어야 한다.

migrage 초기화

python manage.py migrate --fake <app.name> zero

이렇게 해주면 migrate횟수를 초기화 시켜줄 수 있다.

완전 초기화 말고 특정 시점으로 돌아가고 싶다면?

python manage.py migrate --fake <app_name> 002 (돌아가고싶은 migrate 번호로)

그런데 migration와 migrate를 초기화 했어도 여기서 끝이 아니다!!!

migrate실행시 생성되는 db_sqlite3 파일도 지워줘야 제대로 정리가 된 것이다.
위 그림은 정리가 덜 된 상태이고 정리를 마무리하면

요로케 된다!!!

그럼 이제 처음부터 다시 시작하는 마음으로

makemigrations를 해주고

migrate도 다시 해준다

오류가 있었을때는 요렇게 나왔었는데

이제는 정상으로 나온다!!!

0개의 댓글