Error : Table has no column named django

김용녀·2022년 7월 14일
0

admin 가서 Author 테이블 들어가는 순간 자꾸 컬럼이 없다 뜨길래 db를 잘못 작성했나 싶어서 봤더니 EmailField에 괄호를 빼먹었다.
이번에 다시 실행시켰는데도 error가 발생하길래 봤더니 이번엔 models.py수정후 migration을 놓친것이었다.

python3 manage.py makemigrations
It is impossible to add a non-nullable field 'email' to author without specifying a default. This is because the database needs something to populate existing rows.
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Quit and manually define a default value in models.py.

model 파일을 수정후 makemigrations 실행시 이런 문구가 뜨는데
기존 모델링으로 DB내에 테이블이 생성됐었는데, 모델링이 바뀐것을 적용하려다보니 빈 공간들이 생겼는데 어떻게 처리할것이냐는 말이다
나의 경우는 data수정이 아니고 단순히 괄호 오탈자였기에 2번으로 빠져나온뒤
기존 migration 파일을 삭제하고 다시 makemigration과 migrate를 실행했다.
잘 생성됐다고 뜬다 그런데
계속 이런다.
그래서 db.sqlite3파일까지 삭제하고나서 makemigration,migrate하니까 잘된다.어떤사람들은 migration 파일 삭제 후 다시 makemigration 하면 바로 되는데 어떤 사람들은 DB까지 지워야 하는거같다. 좀 더 공부해봐야 알것같다.

profile
어서오세요

0개의 댓글