본문 바로가기

web/Django

django migrate 칼럼이 생성 안될때 ( 꼬였을때)

로컬과 실서버의 디비의  migrate가 꼬여서 개발한 컬럼이 반영이 안될때!!

컬럼은 처음부터 소스에 반영이 아닌 8번에서 반영되어야 합니다!! (git으로 잠시 stash로 넣어놨다가 8번에서 꺼내세요)

 

1. 해당 디비의 django_migrations 테이블 데이터 삭제 (truncate)

2. python3 manage.py makemigrations

3. python3 manage.py showmigrations

4. python3 manage.py migrate --fake components ( "django_content_type" 에 name 이 없다고 에러가 나면 하단을 참조하세요.)

 

 

마이그레이션 파일 삭제

 

5. find . -path "*/migrations/*.py" -not -name "__init__.py" -delet

6. find . -path "*/migrations/*.pyc" -delete

 

8. python manage.py makemigrations

9. python manage.py migrate --fake-initial

 

변경할 칼럼 반영 

 

10. python manage.py makemigrations

11.  python manage.py migrate --fake-initial

 

Good Luck !!

 

 

 

만일!! django_content_type의 name이 없다고 에러가 발생 한다면!!

django.db.utils.ProgrammingError: column "name" of relation "django_content_type" does not exist

 

아래의 sql을 해당 디비에서 실행시켜 칼럼을 추가 해 줍니다. 

ALTER TABLE django_content_type ADD COLUMN name character varying(50) NOT NULL DEFAULT 'someName';