(장고) 마이그레이션

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부터 진행하는 것이 좋다.

> 연습할 때만 데이터 삭제,,

참조

https://docs.djangoproject.com/en/4.2/topics/migrations/

https://tibetsandfox.24