File size: 918 Bytes
9efeb4b
2755fb0
 
 
 
 
9efeb4b
2755fb0
 
 
7134b06
 
 
 
 
2755fb0
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 1. (๊ฐ€์žฅ ์ค‘์š”) DB ์ ‘์† ์ฃผ์†Œ ์ˆ˜์ •
SQLALCHEMY_DATABASE_URL = os.environ.get("SQLALCHEMY_DATABASE_URL")

# 2. DB ์—ฐ๊ฒฐ ์—”์ง„ ์ƒ์„ฑ
engine = create_engine(
    SQLALCHEMY_DATABASE_URL,
    pool_pre_ping=True,      # <--- (1) ์—ฐ๊ฒฐํ•˜๊ธฐ ์ „์— Ping
    pool_recycle=300,        # <--- (2) 5๋ถ„(300์ดˆ)๋งˆ๋‹ค ์—ฐ๊ฒฐ์„ ์ƒˆ๊ฒƒ์œผ๋กœ ๊ต์ฒด (์˜ค๋ž˜๋œ ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋ฐฉ์ง€)
    pool_size=5,             # <--- (3) ๋™์‹œ์— ์œ ์ง€ํ•  ์—ฐ๊ฒฐ ๊ฐœ์ˆ˜
    max_overflow=10          # <--- (4) ๊ฐ‘์ž๊ธฐ ๋ชฐ๋ฆด ๋•Œ ์ถ”๊ฐ€๋กœ ํ—ˆ์šฉํ•  ์—ฐ๊ฒฐ ๊ฐœ์ˆ˜
)

# 3. DB์™€ ํ†ต์‹ ํ•  ์„ธ์…˜(Session) ์ƒ์„ฑ
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

# 4. ๋ชจ๋ธ(์Šคํ‚ค๋งˆ)๋“ค์ด ์ƒ์†๋ฐ›์„ ๊ธฐ๋ณธ 'Base' ํด๋ž˜์Šค ์ƒ์„ฑ
Base = declarative_base()