model을 수정한 뒤에 python manage.py makemigrations
, python manage.py migrate
을 진행했는데
_mysql_exceptions.OperationalError: (1060, "Duplicate column name 'description'")
column 이름이 중복이라는 에러 메세지를 만났다. 중복이 없는데 왜지.. 왜일까 고민했는데 답을 찾을 수 없었다. 이전에 1차 프로젝트 때 migrations 파일을 지우고 문제가 되어서 git revert를 했을 때가 생각나서 함부로 migrations 파일을 지우는 건 안 될 것 같아서 다른 방법들을 찾으려고 했는데
...??? deleting....the DB?......and all migrations...? 지우라고여? 저번에도 지우고 잘못돼서 revert를 했는데 이번에도 그렇게 되는 거 아니야? 내가 혹시 영어를 잘 못 읽고있나? 번역기...번역기...번역기...
....지우라고 하는게 맞네?
조심조심 구글링을 하면서 지워도 되는 파일들을 지우고(마이그레이션 디렉토리 안에 모든 파일을 init.py 모듈 빼고 싹 지운다!) 다시 makemigrations 후에 migrate를 했는데 똑같은 에러메세지가 또 생겼다.
결론적으로는,
이번의 경우에는
앱이름/migrations/0001_inital.py에서
중복이라고 뜨는 description자체를 추가해주었다. (이후에 start_date, end_date, employee도 에러가 떠서 한꺼번에 다 추가해주었다.)
migrations 파일은 함부로 삭제하거나 수정하면 안되는 줄 알았는데 그건 또 아니었다.. 대신 좀 조심히 살펴보면서 수정해주면 되겠구나 싶었다.