저번 포스팅에서도 다룬 내용이지만 너무 중요한 내용이라서, 이번 포스팅에서 다시한번 다루려고 한다.
마이그레이션 되어 있는 기존 테이블을 다루는 건 아주 조심스럽게 해야한다.
- 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 스크립트 코드 출력