Django의 db를 postgresql로 바꾸기 위해 settings.py 에서 Database의 설정을 바꿔주고,
db.sqlite3을 지운 다음 각 앱에 있는 migrations들을 다 지워주었다. 이후 서버를 켰는데 다음과 같은 에러가 떴다.
Django DB설정을 처음 했기에 왜 저런 문제가 발생한 건지 감도 안 잡혔고, 또 makemigrations를 해줘도 아무것도 변경된 게 없다 나오지만, migrate를 하니
다음과 같이 떴다.
또 snsapp은 앱 이름이고 freepost는 모델 클래스(테이블)인데..? snsapp_freepost 로 릴레이션이 형성되나? 하고 pgadmin을 켜보니 snsapp_freepost라는 테이블 이름은 없었다..
열심히 구글링을 하긴 했는데... 사실 아직도 잘 모르겠다. ㅎㅎ....
어쨋든 에러를 고치긴 했는데
에러가 발생한 이유는 바로
앱에 있는 migrations 폴더 자체를 다 지워버려서 발생한 거였다..........
해서 요약하면
DB변경을 하고 싶으면
1. db.sqlite3를 삭제한다.
2. 각 앱에 있는 migrations 폴더에서 __init__.py 폴더만 남겨두고 전부 다 삭제한다.
3. settings.py에서 db설정 변경은 다음과 같이 한다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '5432',
}
}