[Django] migration

    마이그레이션

    마이그레이션은 모델의 변경사항을 관리하는 방법이다.

    장고에서 모델은 class로 정의되며 이 class는 Django ORM(Object-Relational Mapping)을 통해 Database table에 매핑된다. 따라서 우리 모델의 데이터필드 type이 변한다던가 모델의 데이터 필드가 한 개 추가된다던가와 같은 모델의 변화가 있을 때마다 데이터베이스 스키마에도 해당 변화를 반영해야 하는데, 이러한 역할을 하는 것이 마이그레이션이다.

    따라서 마이그레이션을 데이터베이스와 연결되는 모델의 변경사항에 따라 버전을 관리해주는 것이라 생각하면 된다.

    Django에서 Migration을 하는 방법

     

    python manage.py makemigrations

    이렇게 하면 migrations 하위 폴더에 0001_initial.py라는 파일이 생성되지만 데이터베이스에 반영되지 않는다. 이 파일은 변경사항을 데이터베이스에 적용할 수 있는 특정 지시사항을 담고 있습니다.

     

    python manage.py migrate

    우리가 만들었던 모델이 데이터베이스에 테이블형태로 반영된다. Django는 마이그레이션 파일에 기록된 지시에 따라 데이터베이스 스키마를 업데이트하는 것이다.

    약간 git commit과 git push origin 개념과 비슷해보인다.

    'Backend > Django' 카테고리의 다른 글

    [Django] MVT 아키텍처  (0) 2023.11.06
    [Django] Web Server Gateway Interface(wsgi)  (3) 2023.11.06

    댓글