IT/Django

Django migration 파일들 합치기(migrations squash)

bepuri 2022. 4. 12. 10:12
728x90

Django ORM은 엄청나다. ORM을 통해서 마이그레이션 파일들도 자동으로 생성해주는데,

물론 이 파일을 통해서 마이그레이션을 진행할 때, 유의해야할 것들이 있다.

 

하위호환

 - 마이그레이션을 잘못진행하면 실 서버 배포시 DB업데이트와 view단 코드가 호환되지 않아서 서버 오류가 날 수 있기에 유의해야한다.

 

아무튼 이 부분을 해결했다면, 테스트 중에 migration 파일들이 여러개 생길 수도 있는데 뭣도 모를땐 그냥 github에 생성되는데로 올렸다.

 

migration 파일 합치기

근데 점점 코드량이 많아지고 코드를 잘 관리하려고 하다보니 나중엔 꼭 나눌 필요 없는 마이그레이션 파일들은 하나로 합쳐야겠다는 생각이 들었다. 

python manage.py squashmigrations <appname> <squashfrom> <squashto>
python manage.py squashmigrations example 0003 0004

 

위와 같이 사용하면되고, 자세한 메뉴얼 및 stackoverflow의 유용한 답변 링크도 남긴다.

https://docs.djangoproject.com/en/3.2/topics/migrations/#squashing-migrations

 

Migrations | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

 

https://stackoverflow.com/questions/40028586/how-to-squash-recent-django-migrations

728x90