makemigrations: models.py에서 적용한 변경사항이나 추가된 혹은 삭제된 사항들을 감지하여 파일로 생성
migrate: 적용되지 않은 migrations들을(설정값들을) 적용시키는 역할
models.py에서 바꾼 내용을(예를 들면 field를 추가하거나, model을 삭제하는 것 등) 데이터베이스 스키마에 전파시키는 장고의 방법이다.
DB 스키마를 git처럼 버전으로 나눠서 관리 할 수 있게 해 주는 시스템. 하나의 마이그레이션 파일은 생성된 시점의 모델의 DB스키마 구조를 담고있다
python 문법으로 쓰인 models.py를 SQL문으로 바꾸고 database에 적용시킬 준비를 하는 작업.
스키마(Schema)란? : DB 내에서 데이터가 저장되는 구조와 제약 조건을 정의한 것. 장고로 치면 하나의 어플리케이션의 models.py 파일이라고 할 수 있음
적용된 마이그레이션 파일은 절대로 삭제하시면 안됩니다. 각 마이그레이션은 이전 버전에 대해 의존성을 가지기 때문에 DB 전체가 맛이간다. 마이그레이션 파일을 삭제하려면 반드시 적용을 해제하고 삭제해야함
python manage.py migrate app_name zero 명령어로 마이그레이션을 초기화 시킨 수 삭제
