Django 2.1 서버 구축 및 연결 - DB 서버 및 시스템 연동
dev용 DB, prod용 DB 구축하여 연결하기
-
Django에서 PostgreSQL 연결하기 위해 psycopg2 모듈 설치
poetry add psycopg2-binary
-
dev용 DB는 로컬 서버, PostgreSQL 시스템 이용
# velog/config/settings/dev.py # ... DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': config('DEV_DB_NAME'), 'USER': config('DEV_DB_USER'), 'PASSWORD': config('DEV_DB_PASSWORD'), 'HOST': config('DEV_DB_HOST'), 'PORT': '', } }
-
prod용 DB는 다른 서버, PostgreSQL 시스템 이용
# velog/config/settings/prod.py # ... DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': config('PROD_DB_NAME'), 'USER': config('PROD_DB_USER'), 'PASSWORD': config('PROD_DB_PASSWORD'), 'HOST': config('PROD_DB_HOST'), 'PORT': config('PROD_DB_PORT'), } }
-
.env
파일에 각 DB 정보 추가# velog/.env # ... DEV_DB_NAME=velog DEV_DB_USER=velog DEV_DB_PASSWORD=velog DEV_DB_HOST=localhost PROD_DB_NAME=velog PROD_DB_USER=velog PROD_DB_PASSWORD=velog PROD_DB_HOST=192.168.0.4 PROD_DB_PORT=5432
-
PostgreSQL에서 dev용 DB 계정 및 시스템 생성
sudo -u postgres psql # postgres 계정으로 psql 접속
CREATE USER velog; /* DEV_DB_USER */ ALTER USER velog with password 'velog'; /* DEV_DB_PASSWORD */ CREATE DATABASE velog owner velog; /* DEV_DB_NAME */ \q
-
다른 서버에 원격 접속하여 마찬가지로 prod용 DB 계정 및 시스템 생성
-
(원격 접속) 5432 포트 열고
postgresql.conf
및pg_hba.conf
파일에서 설정 변경 -
Django에서 현재 프로젝트에 대해 모든 가능한 migration 정보 확인
# /velog python manage.py showmigrations # dev python manage.py showmigrations --settings=config.settings.prod # prod
-
둘 다 migration 정보가 잘 뜨면 성공
Author And Source
이 문제에 관하여(Django 2.1 서버 구축 및 연결 - DB 서버 및 시스템 연동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@moorekwon/Django-2.1-서버-구축-및-연결-DB-서버-및-시스템-연동저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)