울고 싶어도 꾹 참고 아래를 따라한다..
나의 잘못)
(1) models.py 로 수정 반영을 기대하였으나 반영 되지 않았다.
(2) db에 직접 들어가 문제가 있는 테이블을 지우고 재생성을 하고자 했다
#sqlite3 db.sqlite3
> drop table [test]
(3) models.py 에 재작성 하고 마이그레이션 하였으나 인식되지 않음..
1. migration 파일 삭제해 보기
- 일반적인 migration 파일의 경로 -> ~/[app]/migrations/0001_initial.py
migration의 0001~ 0002~ 숫자로 시작하는 파일을 모두 지운다 (지워도 서비스 이상 없음)
# rm -rf blog/migrations/00*
다시 마이그레이션 시도
# python manage.py makemigrations
# python manage.py migrate
2. fake migrate 해보기
앱 별로 migration 파일 확인
#python manage.py showmigrations
앱의 마이그레이션 파일을아래와 같이 명령하여 초기화한다.
# python manage.py migrate --fake [app이름] zero
3. 특정 테이블의 db만 생성하기
django table already exists 발생할 때 (db에 직접 접근해서 테이블을 삭제한 경우)
# python manage.py makemigrations
로 생성된 migration 파일을 들어가서 생성할 테이블만 남기고 삭제
# python manage.py sqlmigrate blog 0001
사용하고 있던 테이블의 구조를 변경하는 올바른 방법은 무엇인가?
-> 무조건 models.py 수정하고 alter 마이그레이션 적용하는 것이 정석..
'programming > python' 카테고리의 다른 글
Python 패키지 폐쇄망 설치 (0) | 2023.12.08 |
---|---|
코인 시세 분석하기 - 1. upbit api 연동 (0) | 2021.09.11 |
파이썬 정규표현식 문자열 추출 (0) | 2021.07.09 |
파이썬 비정형 데이터 파싱 (0) | 2021.04.29 |
파이썬 독학하기 좋은 위키독스 모음집 (0) | 2021.04.11 |