[ISSUE] Django migrate 문제

     

실제 운영 서버에 올라가 있는 Django 프로젝트와 로컬에서 운영중인 Django 프로젝트의 DB 불일치는 항상 개발자를 괴롭히는 문제이다. 서로 다른 브랜치에서 (git을 사용한다면) 새로운 모델은 만들고 migrate를 하다보면 어느 브랜치에서는 있고, 어느 브랜치에서는 없어서 꼬이게 되어있다.(리얼 100퍼임)

 

새로운 회사에 처음와서 로컬에서 개발환경을 구성하기 위해 migrate를 돌렸는데, 이게 웬걸... 자꾸 duplicate colum error가 나는것이다!!

그 후로 계속 마이그레이트파일 다 지우고 새로 만들고 프로젝트를 롤백하는 형식으로 진행했는데, migrate fake를 이용해 거짓 migrate정보를 만들 수 있다는 것을 알았다.

 

FAKE로 생성!!!!

명령어는 간단하다. migrate를 할 때 뒤에 --fake만 붙이면 된다. 

 

단, 내가 현재 수정한 migrations 파일을 지우고, --fake를 해서 돌려야 내가 적용하고 싶은 migrations는 fake로 생성되지 않고 돌릴 수 있다. 쉽게 설명하면 내 migrations가 50번이라면 49번까지 있는 상태에서 --fake를 돌리고 50번을 생성하고 migrate를 돌리면 된다.

 

이렇게 하면 아주 간편하게 개발환경을 조성할 수 있다. 

 

great it!

반응형

댓글

Designed by JB FACTORY