Error 길잡이 - makemigration 후 db는 어디에

Sinjae Lee·2021년 6월 29일
0

django에서 db model을 작성하면서 migration 이후 db에 table 생성하고 보면 꼭 unll=True를 추가해주고 싶다거나
복수로 작성한것이 걸린다거나 하는 고치고 싶은것들이 생겨서 model 내에서 수정을 해준다.
그러고 makemigrations / migrate 를 하면

migration 까지는 잘 해놓고 migrate 에 No migrations 란다...

원인이 뭔지도 탐구해보고 싶지만 일단은 해결방법을 기록해놓겠다 미래의 나를 포함 나와 같은
경우에 놓여 db를 drop 시킬까 고민중인 사람들을 위해서

  1. 일단 위 그림같은 상황인가? 나는 지금 posts 와 comments 라는 두개의 model table 을 작성했지만 아래 그림처럼 table 생성은 되지 않았다.

일단 showmigrations 를 해보자 아래 같이 posts 앱의 0001 initial 파일이 생성되어졌다

  1. 아래 그림처럼 migrate --fake 앱 zero 를 통해 posts 앱의 migration 파일을 초기화 해준다

    showmigrations 를 통해 보면 initial 파일에 체크표시가 사라졌다.

  2. 이제 앱 내부의 migrations dir에서 해당 initial파일을 삭제해주고 makemigrations 를 해준다.

  3. 여기서 db에는 이미 migration 파일이 있습니다. 이를 위해 fake로 migrate 해줍니다

이렇게 해주면 table 과 해당 column 이 정상적으로 수정한것을 볼 수 있다!!!!

근데 안에 이미 db가 가득있고 해당 db의 모델을 건드려야 할 경우에는 어떻게 해야될까..?

profile
Back-end developer

0개의 댓글