Django | 장고 마이그레이션(migrate, makemigrations)

2023. 6. 5. 21:35·BackEnd/Django

장고 프로젝트를 처음 생성하면 디렉터리(dir)에는 다음과 같은 파일과 폴더가 존재할 것이다.

프로젝트가 잘 생성되었는지 확인하기 위해 서버를 실행하면 다음과 같은 오류 메시지가 나타난다.

python manage.py runserver

이 오류 메시지는 아직 18개의 마이그레이션이 있다는 의미이다.

장고에서 마이그레이션(migration)이란 데이터베이스에 적용시켜야 하는 변화에 대한 기록이다.

ex) 댓글 기능이 없던 블로그에 댓글 작성 기능을 추가했을 때, 데이터 베이스에 댓글을 저장하기 위한 공간인 테이블이 필요하다. 이를 데이터베이스에 반영해야 서버를 실행했을 때 웹사이트에 추가한 댓글 기능을 제대로 사용할 수 있다.

 

장고는 새 프로젝트를 생성할 때 데이터베이스에 기본적으로 필요한 테이블을 미리 만들어두기 때문에 새로운 프로젝트를 생성했을 때 적용해야 할 마이그레이션이 존재한다.

명령프롬포트에 마이그레이션 명령어를 입력하면 아직은 데이터베이스를 만들지 않은 상태이기 때문에 db.sqlite3이라는 새로운 파일이 생성되고, 그 안에 마이그레이션을 반영한 데이터베이스가 생성된다.

python manage.py migrate

 

기존에 생성되어 있는 데이터베이스에 대해 마이그레이션을 진행할 때는 makemigrations를 통해 장고에게 모델을 수정했음을 알려준다.

python manage.py makemigrations

그다음 migrate로 데이터베이스에 반영하면 된다.

python manage.py migrate

 

 

참고: Do it! 장고+부트스트랩 파이썬 웹 개발의 정석

 

저작자표시 (새창열림)
'BackEnd/Django' 카테고리의 다른 글
  • Django | 장고 한국 시간 설정하기
  • Django | 장고 앱 생성하기(startapp)
  • MobaXterm 설치 방법
  • Django | URL과 Views
dduniverse
dduniverse
  • dduniverse
    dduniverse
    dduniverse
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Algorithm (123)
        • 알고리즘 이론 (8)
        • 백준 (19)
        • 프로그래머스 (83)
        • 구름 알고리즘 먼데이 챌린지 (13)
      • 빅데이터분석기사 (10)
        • 통계 (4)
        • 실기 (6)
      • KT에이블스쿨 (26)
      • FrontEnd (11)
        • React (5)
        • 기타 (6)
      • BackEnd (18)
        • Django (15)
        • Spring (3)
      • DS & ML (11)
        • Machine Learning (9)
        • Kaggle (2)
      • TIL (46)
        • python (22)
        • javascript (3)
        • 오류해결 (10)
        • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 관리
    • 글쓰기
  • 링크

  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
dduniverse
Django | 장고 마이그레이션(migrate, makemigrations)
상단으로

티스토리툴바