ks.dgoon.lee log

블로그 db sqlite->pgsql 마이그레이션 완료


2023/11/01 00:03:31 #django #dev #postgresql #database #sqlite

1. python manage.py dumpdata > whole.json

2. pip install psycopg2-binary 설치 (psycopg2 가 안되더라고...)

3. 프로덕션 세팅파일에 posgresql db 관련 정보 설정

4. 아래 작업 실행

find . -path “*/migrations/*.py” -not -name “__init__.py” -delete
find . -path “*/migrations/*.pyc” -delete
python manage.py makemigrations
python manage.py migrate
python manage.py shell
>>> from django.contrib.contenttypes.models import ContentType
>>> ContentType.objects.all().delete

5. signals.py 에서 시그널 등록 모두 임시 주석처리

6. python manage.py loaddata whole.json

7. signals.py 주석처리 한것 원복

끝!

참고: https://medium.com/djangotube/django-sqlite-to-postgresql-database-migration-e3c1f76711e1


이제 https://blog.dgoon.net 은 db backend 로 postgresql 을 사용한다. 예전에 digital ocean 에서 싱가폴 데이터센터에 managed db 만들어서 시험삼아 붙여봤을 때엔 첫 페이지 띄우는데만 2-3초씩 걸리고 그랬는데, 한국에 있는 개인서버에 깔아놓고 연결하니 역시 훨 빠르다... 인가? sqlite 쓸때에는 거의 캐시리턴하는 느낌으로 떳는데, 같은 한국이지만 다른 데이터센터에 있는 db 서버에 연결하니 딜레이가 보이긴 한다. 싱가폴 db 에 붙을때보단 낫긴 하지만. 아직은 크게 거슬릴 정도는 아니지만, 추가작업 할 것들이 나왔다.

1. pgsql 을 같은 머신 or 같은 로컬넷에 준비해본다? -> 지금이 좋은데 음...

2. 그냥 적당한 캐시를 다는 정도로 타협 가능 -> 개인블로그는 memcached 로만 적당히 달아도 충분할듯



그냥 기록: postgresql 은 기본포트 5432 사용. mysql 은 3306.




댓글 0개