Django에서 마이그레이션
: 모델을 db에 저장
모델에 변경 사항이 발생하면 새로운 마이그레이션을 수행해야 합니다.
명령(SQLite):
python manage.py makemigrations (app_name)
– app_name 마이그레이션 진행
– app_name이 작성되지 않은 경우 앱 전체에 대해 마이그레이션 진행
– 프로젝트 생성 후 첫 번째 마이그레이션은 app_name을 작성하지 않고 전체 마이그레이션이어야 합니다.
python manage.py migrate (app_name) (migration_name)
– 모델 변경사항을 DB에 반영하는 단계
– app_name에 대한 DB 반영(생략 가능)
– migration_name : 해당 버전의 마이그레이션 반영(생략 가능)
– 이전 버전 마이그레이션으로 되돌리기 가능
– 모든 마이그레이션을 되돌리려면 migration_name에 0을 입력합니다.
python manage.py migrate (app_name) zero
python manage.py showmigrations (app_name)
– app_name의 마이그레이션 정보 표시(app_name은 생략 가능)
– 마이그레이션이 적용되었는지 표시
모델을 추가하거나 변경하면 매번 Migration을 해야 하고,
기존 데이터와의 충돌로 인해 오류가 발생할 수 있습니다.
> DB에 저장된 모든 데이터를 지워도 괜찮은 경우 .sqlite3 파일과 migrations 폴더에서 0001과 같은 숫자로 시작하는 파일을 모두 제거한 후 makemigrations부터 진행하는 것이 좋다.
> 연습할 때만 데이터 삭제,,
참조