공식 문서
models.py에서 바꾼 내용을(예를 들면 field를 추가하거나, model을 삭제하는 것 등) 데이터베이스 스키마에 전파시키는 장고의 방법이다.
공식 문서에서는 migrations를 데이터베이스 스키마의 버전 컨트롤 시스템으로 생각하라고 말한다. (You should think of migrations as a version control system for your database schema.) 내 모델에 적용된 변화를 모아서 각 migrations files에 적용시켜주는 것이기 때문이다. git commit과 유사하다.
python 문법으로 쓰인 models.py를 SQL문으로 바꾸고 database에 적용시킬 준비를 하는 작업이라고 이해했다.
내 데이터베이스에 변화된 내용을 실제 테이블에 적용해주는 것이다. 각 app 안에 있는 migrations file은 해당 app 안의 migrations 디렉토리 안에 존재하고, commited 되어 코드로서 분배되도록 디자인 되어있다.