django_site relation does not exist error
django의 allauth 패키지를 이용하여 소셜로그인을 구현하던 중 위와 같은 에러가 발생하였다.
발생원인
발생 원인은 allauth를 먼저 마이그레이션 하고 테이블을 생성한 후 django.contrib.sites를 마이그레이션 후 테이블을 생성하여 외래키가 제대로 연결되지 않았던 것이 원인이었던 것 같다.
django_site relation does not exist error when when running tests · Issue #1817 · pennersr/django-allauth
I'm running trying to run my tests, but I keep getting the following errors. errors Loading : /Users/guyjacks/projects/one_raft_first_site/.env The .env file has been loaded. See base.py for more i...
github.com
해결 방법
1. 우선 가상환경을 전부 지우고 다시 설치하였다.
- 만약 requirements 파일이 없다면 생성 후 지우는 게 나중에 다시 패키지를 설치할 때 변할 것이다.
- 아래 명령어를 이용하여 기존에 패키지들을 다시 설치하였다.
pip install -r requirements.txt
2. postgresql에 접속하여 db로 사용하고 있는 데이터데이스를 지우고 다시 생성하였다.
drop database db이름;
create database db이름;
3. 이후 프로젝트를 열고 다시 마이그레이션 후 테이블 생성, 데이터 입력의 절차를 통해 해결하였다.
느낀 점
잘 만들어진 패키지에서 하라는 대로 따라 하자, 내 임의로 필요 없다고 생각되는 부분을 생략하고 진행하면 큰일이 일어난다.