모델 변경하고 다시 마이그레이션하기
필드를 추가하고 변경 사항을 DB에 반영합니다
모델 변경하고 다시 마이그레이션하기은(는) CoddyKit의 무료 Django Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Django Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Django Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
모델은 발전합니다
실제 앱은 계속 변합니다. 기능에 새 열이 필요하면 모델을 수정하고, 마이그레이션을 통해 데이터베이스에 변경 내용을 반영하세요.
1단계: 모델 수정하기
먼저 모델 클래스에 필드를 추가하세요. 여기서는 Post에 적절한 기본값을 가진 published 플래그를 추가합니다.
class Post(models.Model):
title = models.CharField(max_length=200)
published = models.BooleanField(default=False)2단계: makemigrations
makemigrations를 실행하세요. Django는 새 모델을 이전 모델과 비교하여 추가된 필드에 대한 새 마이그레이션을 작성합니다.
python manage.py makemigrations3단계: migrate
migrate를 실행하여 새 파일을 적용하세요. 이제 실제 테이블에 열이 존재하므로 사용할 수 있습니다.
python manage.py migrate기본값이 기존 행을 채웁니다
데이터가 들어 있는 테이블에 NULL을 허용하지 않는 필드를 추가하려면 기존 행에 사용할 값이 필요합니다. default가 기존 행을 깔끔하게 채웁니다.
기본값이 없으면 Django가 묻습니다
기본값이 없으면 makemigrations가 중지되고, 계속하기 전에 기존 행에 사용할 일회성 값을 입력하라고 요청합니다.
변경할 때마다 새 파일이 생깁니다
Django는 이전 마이그레이션을 절대 수정하지 않습니다. 모든 모델 변경은 마지막 파일 위에 쌓이는 새 번호 파일이 됩니다.
필드 이름 바꾸기
필드 이름을 바꾸면 Django는 해당 필드를 삭제하고 새로 추가한 것이 아니라 이름만 바꾼 것인지 물을 수 있습니다. 열의 데이터를 보존하려면 yes라고 답하세요.
필드 제거하기
모델에서 필드를 삭제한 다음 makemigrations를 실행하면 RemoveField 단계가 작성됩니다. 이를 적용하면 해당 열이 영구적으로 사라집니다.
마이그레이션 되돌리기
되돌리려면 이전 번호로 migrate하세요. Django는 마이그레이션을 역순으로 실행하여 이전 스키마를 복원합니다.
python manage.py migrate blog 0001파일 커밋하기
새 마이그레이션은 모델 수정 내용과 함께 항상 커밋하세요. 팀원이 migrate를 실행하면 동일한 스키마를 얻게 되므로 예상하지 못한 문제가 생기지 않습니다.
빠른 확인
이미 행이 있는 테이블에 필수 필드를 추가했습니다. Django에는 무엇이 필요한가요?
복습
순서는 간단합니다. 모델을 수정하고, makemigrations, migrate를 실행한 다음 커밋하세요. 변경할 때마다 새 파일이 생성되므로 기록을 정확하게 유지할 수 있습니다. ✅
AI 튜터와 함께 Python을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“모델 변경하고 다시 마이그레이션하기” 강의는 무료인가요?
네 — “모델 변경하고 다시 마이그레이션하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Django Academy 강의 전체를 잠금 해제할 수 있습니다. Django Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“모델 변경하고 다시 마이그레이션하기”에서 뭘 배우나요?
필드를 추가하고 변경 사항을 DB에 반영합니다 브라우저에서 직접 실행하는 실습 코드로 Django Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Django Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Django Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“모델 변경하고 다시 마이그레이션하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Django Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Django Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- makemigrations와 migrate 비교
- 마이그레이션 파일 읽기
- 모델 변경하고 다시 마이그레이션하기
- sqlmigrate로 SQL 살펴보기