[Django+PostgreSQL] Django model 변경 후 기존 DB table 변경하기

송현아·2021년 9월 13일
0

Django

목록 보기
4/4
post-thumbnail

Django model의 field 값을 추가한 뒤, migration한 뒤에도 해당 field의 column이 생기지 않는 경우가 종종 발생합니다.

  • 일반적으로 model 변경 후 실행하는 명령어
 >> python manage.py makemigrations
 >> python manage.py migrate

[오류 화면]

Django 내부에서는 migration이 완료되었지만, PostgreSQL 테이블에서는 변경되지 않은 테이블을 확인하였습니다.

[해결 방법]

해결하는 방법은 로컬 프로젝트 앱 폴더 내의 migration 파일을 강제로 DB에 푸시하는 것입니다.

참고 URL : https://www.dev2qa.com/how-to-force-reset-django-models-migrations/

>> python manage.py migrate [app_name] zero

이후 migraions 폴더 내의 파일을 모두 지웁니다. ( init.py 파일 제외 )

>> rm *000

마지막으로 다시 migration을 진행합니다.

>> python manage.py makemigrations [app_name]
>> python manage.py migrate

:) pgAdmin4를 통해 성공적으로 DB에도 migration이 진행된 것을 확인하였습니다.

0개의 댓글