본문 바로가기
IT/Django

Django, foreignkey error - 무결성에 문제가 없더라도 migrations 폴더와 pycache에 문제가 없는지 살펴보기

by Cyber_ 2024. 4. 12.

1. 데이터베이스 마이그레이션 오류

Django의 ORM(Object-Relational Mapping)을 사용하여 개발하는 과정에서 모델에 변경이 발생하면, 이러한 변경 사항을 데이터베이스 스키마에 반영하기 위해 마이그레이션 파일을 생성하고 적용해야 합니다. 때로는 마이그레이션 파일들 간의 불일치나, 잘못 적용된 마이그레이션으로 인해 ForeignKey와 같은 관계 필드에 대한 무결성 오류가 발생할 수 있습니다.

2. 스키마 불일치 오류

데이터베이스 스키마와 Django 모델 간의 불일치로 인해 발생할 수 있는 오류입니다. 예를 들어, 데이터베이스에는 존재하지 않는 필드를 모델에서 참조하려고 하거나, 필드의 타입이 서로 일치하지 않을 때 발생할 수 있습니다.

3. 개발 환경과 배포 환경 간의 불일치

로컬 개발 환경에서는 문제가 없으나, 실제 배포 환경에서 ForeignKey 관련 오류가 발생하는 경우가 있습니다. 이는 보통 개발 환경과 배포 환경 간의 데이터베이스 스키마 불일치 때문에 발생합니다.

 

 

결론

필자는 개발환경이랑 배포환경이랑 migrations을 달리해서 foriegn키 문제가 발생했었다. 개발단계에서 오류가 발생했기에 지우는 것으로 해결했으며, 이후 gitignore파일을 추가해 다시는 이 파일들이 옮겨가지 않도록 했다.