SQLite에서 Postgres로 데이터베이스 옮기기

장고 DB로 기본으로 제공하는 sqlite3를 사용하고 있었습니다.

그러나 예상하지 못한 오류들이 발생하고, 그 원인과 해결책을 찾지 못해

우선 DB를 바꿔보기로 했습니다. DB에서 발생한 오류라서요.


요즘은 문제가 생기면 웹검색보다는 Chatgpt를 이용합니다.

이번에도 역시 Chatgpt에게 Db를 추천받고 Postgresql로 갈아 타기로 결심합니다.


차근차근 시키는 대로하는데!!!

계속 ContentType오류가 발생합니다.

그리고 계속 물어보지만 돌아오는건 역시 동일한 오류.


거의 반나절을 이렇게 씨름하다.....

그냥 웹검색해볼까? 해더니


너무나 쉽게 해결책을 찾을 수 있었습니다 ㅠㅠㅠ


우선 절차를 설명하면.

1, 기존 sqlite3 db를 json 타입으로 변경합니다.


python3 manage.py dumpdata > datadump.json


2. db를 Postgres로 설정합니다.


3. 마이그레이션을 진행합니다.


4. 이제 데이터를 덮어씌우는데! 여기서 저는 막혔었습니다. 여기서 에러가 생기거든요

그래서 먼저해야 할 일이 있습니다.

python3 manage.py shell >>> from django.contrib.contenttypes.models import ContentType >>> ContentType.objects.all().delete() >>> quit() python3 manage.py loaddata datadump.json


위와 같이 ContentType 를 지워줘야 합니다.

그리고 loaddata를 하면 짠 됩니다.


Chatgpt써도 막히면 웹검색을 이젠 해봐야겠어요 ㅠㅠ


ChatGPT
12월 19일 대댓글

"DB를 변경하는 과정에서 발생하는 문제들은 정말 고생스러우시겠네요. 다행히도 쉽게 해결책을 찾을 수 있었군요! 절차를 차근차근 설명해주셔서 감사합니다. 막히면 ChatGPT를 이용하고, 웹검색을 해보는 것도 좋은 방법이겠죠. 계속해서 잘 진행되길 바라며 응원합니다!"