Back-end/Django

[HUFS/HUFStudy] #8 PostgreSQL 연동, Heroku 배포

성중 2021. 8. 6. 15:17

PostgreSQL DB 연동

Django는 기본 DB로 sqlite를 사용하는데 규모가 있는 서비스에는 적합하지 않다

 

대신에 이런 것들을 사용하는데,,

무료이며 UI가 직관적인 PostgreSQL을 사용해보자

 

DB를 설치하고 / DB를 지정(settings.py)하고 / DB를 연결(migrate)해줄 것이다

사양에 맞게 PostgreSQL을 다운받자

 

Download PostgreSQL Database for Windows, Linux and MacOS & 32-bit or 64-bit Versions | EDB

Download PostgreSQL packages or installers free from EDB. Get PostgreSQL for Windows, Linux and MacOS platforms. Download 32-bit or 64-bit versions. Download open-source PostgreSQL now.

www.enterprisedb.com

* 설치 과정에서 Password와 Port 번호를 꼭 기억해주자!

 

설치 후 해당 앱을 실행해주고
데이터를 저장할 DB를 생성해주자

Django 프로젝트와 연동하기 위해 settings.py의 DATABASES를 수정해주자

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'hufslive', # DB이름
        'USER': 'postgres',
        'PASSWORD': '설정한 비밀번호',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

‘pip install psycopg2-binary’를 설치 후 migrate하고 서버를 실행해주면,,

PostgreSQL DB가 연동되면서 admin계정 및 데이터가 전부 초기화된다!

다시 admin 계정을 만들고 admin 페이지에서 소셜 로그인 설정도 새로 해줘야 한다

 

* settings.py의 DB 부분을 바꾸고 migrate하면 다시 sqlite로 되돌릴 수 있다

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

Heroku 배포

 

ジャンゴ(django)プロジェクトをヘロク(Heroku)へアップロードする

ジャンゴ(django)プロジェクトを実際サービスで使うためヘロク(Heroku)サービスへアップロードしてウェブサービスを提供する方法について説明します。

dev-yakuza.posstree.com

 

오류가 생긴다면 requirements.txt에서 해당 error 원인을 제거하고

GitHub에 add -> commit -> push 후에

Heroku에 git push heroku main 해주자

 

https://hufs-live.herokuapp.com/

 

HUFS Live

 

hufs-live.herokuapp.com

배포에 성공했다!

 

이후 변경 사항은,,

GitHub 변경 사항 적용 -> git push heroku main
migrate 적용 -> heroku run python manage.py migrate

 

본 내용은 멋쟁이사자처럼의 '9기 운영진 교육'을 바탕으로 작성되었습니다.