backend django #6 DB 구조 변경

eunji hwang·2020년 4월 9일
0

BACKEND-PYTHON-DJANGO

목록 보기
10/28

DB 모델링 이후 마이그레이션 & 마이그레이트를 해주었고, 데이터입력까지 진행되고 있는 상태에서
DB 모델 구조를 변경하였다. 추가된 컬럼은 null 값을 갖을 수 없는데 이미 입력된 데이터는 존재하는 상태일때 마이그레이션을 진행하면 아래와 같은 문구가 출력된다.

You are trying to add the field 'create_at' with 'auto_now_add=True' to userprofile without a default;
the database needs something to populate existing rows.

 1) Provide a one-off default now (will be set on all existing rows)
 2) Quit, and let me add a default in models.py
Select an option: 

원인

위에서도 언급했지만 원인은 아래와 같다.

  • 테이블에 이미 데이터가 존재한다.
  • 테이블에 컬럼을 추가하였고, 마이그레이션을 통해 적용하려한다
  • 추가되는 컬럼은 null값을 갖을수 없는 설정이 적용되어 있다
  • 이미 존재하는 데이터는 null값이 입력 될 수밖에 없는 상황, 하지만 정보가 없으니 null일수밖에 없다

너는 어떻게 할래 1번 2번에서 골라보렴~

해결

  • 1번 선택하여 진행
  • 두번째 선택 역시 1번 선택하여 진행
  • 빈칸에는 None을 입력하여 마무리한다.
profile
TIL 기록 블로그 :: 문제가 있는 글엔 댓글 부탁드려요!

0개의 댓글