[python] python-dotenv를 사용하여 데이터베이스 연결 설정하기

이번 포스트에서는 python-dotenv를 사용하여 Python 프로젝트에서 데이터베이스 연결 설정을 어떻게 할 수 있는지 알아보겠습니다.

Table of Contents

python-dotenv란?

python-dotenv는 Python 프로젝트에서 환경 변수를 관리하기 위한 도구입니다. 환경 변수는 프로젝트의 설정 값 또는 중요한 정보를 저장하는데 사용됩니다. python-dotenv를 사용하면 .env 파일에 환경 변수를 설정하고, 이를 Python 코드에서 쉽게 사용할 수 있습니다.

python-dotenv 설치하기

python-dotenv를 설치하기 위해서는 pip를 사용합니다. 다음 명령을 실행하여 python-dotenv를 설치할 수 있습니다.

pip install python-dotenv

.env 파일 생성하기

python-dotenv를 사용하기 위해서는 .env 파일을 프로젝트 디렉토리에 생성해야 합니다. 이 파일에는 환경 변수를 설정합니다. 예를 들어, 데이터베이스 연결에 필요한 정보인 DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD를 설정할 수 있습니다. .env 파일의 내용은 다음과 같습니다.

DB_HOST=localhost
DB_PORT=5432
DB_NAME=mydatabase
DB_USER=myuser
DB_PASSWORD=mypassword

파이썬 코드에서 환경 변수 사용하기

파이썬 코드에서 .env 파일에 설정된 환경 변수를 사용하기 위해서는 아래의 코드를 추가해야 합니다.

import os
from dotenv import load_dotenv

load_dotenv()  # .env 파일 로드

host = os.getenv("DB_HOST")
port = os.getenv("DB_PORT")
database = os.getenv("DB_NAME")
user = os.getenv("DB_USER")
password = os.getenv("DB_PASSWORD")

# 데이터베이스 연결 설정 코드

위 코드에서는 load_dotenv 함수를 사용하여 .env 파일의 환경 변수를 로드하고, os.getenv 함수를 사용하여 개별적으로 환경 변수 값을 가져옵니다.

데이터베이스 연결 설정하기

환경 변수를 가져온 다음에는 가져온 값을 사용하여 데이터베이스 연결을 설정할 수 있습니다. 예를 들어, SQLAlchemy를 사용하여 PostgreSQL 데이터베이스에 연결하려는 경우 다음과 같이 코드를 작성할 수 있습니다.

import os
from dotenv import load_dotenv
from sqlalchemy import create_engine

load_dotenv()

host = os.getenv("DB_HOST")
port = os.getenv("DB_PORT")
database = os.getenv("DB_NAME")
user = os.getenv("DB_USER")
password = os.getenv("DB_PASSWORD")

# 데이터베이스 연결 설정
engine = create_engine(f"postgresql://{user}:{password}@{host}:{port}/{database}")

# SQLAlchemy를 사용하여 데이터베이스 작업 수행

위 코드에서는 create_engine 함수를 사용하여 SQLAlchemy 엔진을 생성하고, 연결에 필요한 환경 변수 값을 사용하여 PostgreSQL 데이터베이스에 연결합니다.

결론

이번 포스트에서는 python-dotenv를 사용하여 Python 프로젝트에서 데이터베이스 연결 설정을 어떻게 할 수 있는지 알아보았습니다. 환경 변수를 사용하면 중요한 정보를 안전하게 보관하고, Python 코드에서 쉽게 접근하여 사용할 수 있습니다. python-dotenv를 사용하면 환경 변수 설정과 관리가 간편하게 가능합니다.