TIL DAY 25 || How to manage Django migration conflicts ?

TK·2021년 3월 21일
0

TIL

목록 보기
32/55

저번 포스팅에서도 다룬 내용이지만 너무 중요한 내용이라서, 이번 포스팅에서 다시한번 다루려고 한다.

How to resolve migration clashes

마이그레이션 되어 있는 기존 테이블을 다루는 건 아주 조심스럽게 해야한다.

  • python manage.py migrate {{앱이름}} {{마이그레이션 번호}} -> 이렇게 해서 마이그레이션 롤백한다.
  • 해당 마이그레이션 파일을 삭제 한다.
  • python manage.py makemigration 해서 새로운 마이그레이션 파일을 생성한다.
  • python manage.py migrate 으로 마이그레이션 한다.
  • 이런 방식으로 주로 한 두개의 마이그레이션 파일만 수정해야한다.

추가로 도움이 되는 명령어들

다음 명령어들을 적절하게 써가면서 해당 마이그레이션의 상태 파악 및 히스토리 관리를 명확하게 하면 좋다.

  • python manage.py migrate {{앱 이름}} {{마이그레이션 번호}} --fake 등의 페이크 마이그레이션
  • python manage.py showmigrations : 현재 적용된 마이그레이션 (db에 마이그레이션 번호와 파일 마이그레이션 비교)
  • python manage.py sqlmigration {{앱 이름}} {{마이그레이션 번호}} (–backward) mysql 스크립트 코드 출력
profile
Backend Developer

0개의 댓글