db 이름을 동적으로 가지고 오기 위한 부분.
This commit is contained in:
11
conf/db.py
11
conf/db.py
@ -1,10 +1,13 @@
|
||||
# db.py
|
||||
|
||||
import os
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
import yaml
|
||||
|
||||
def load_config(path='conf/config.yaml'):
|
||||
# db.py 파일 위치 기준 상위 디렉토리 (프로젝트 루트)
|
||||
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||
CONFIG_PATH = os.path.join(BASE_DIR, 'conf', 'config.yaml')
|
||||
|
||||
def load_config(path=CONFIG_PATH):
|
||||
with open(path, 'r', encoding='utf-8') as f:
|
||||
return yaml.safe_load(f)
|
||||
|
||||
@ -13,7 +16,7 @@ db_cfg = config['database']
|
||||
|
||||
db_url = f"mysql+pymysql://{db_cfg['user']}:{db_cfg['password']}@{db_cfg['host']}/{db_cfg['name']}?charset=utf8mb4"
|
||||
|
||||
# MySQL 연결이 끊겼을 때 자동 재시도
|
||||
# MySQL 연결이 끊겼을 때 자동 재시도 옵션 포함
|
||||
engine = create_engine(db_url, pool_pre_ping=True)
|
||||
Session = sessionmaker(bind=engine)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user