기본파일

This commit is contained in:
2025-07-02 16:25:01 +09:00
commit 47acbb33b4
4 changed files with 69 additions and 0 deletions

0
lib/__init__.py Normal file
View File

21
lib/db.py Normal file
View File

@ -0,0 +1,21 @@
# db.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
import yaml
def load_config(path='conf/config.yaml'):
with open(path, 'r', encoding='utf-8') as f:
return yaml.safe_load(f)
config = load_config()
db_cfg = config['database']
db_url = f"mysql+pymysql://{db_cfg['user']}:{db_cfg['password']}@{db_cfg['host']}/{db_cfg['name']}?charset=utf8mb4"
# MySQL 연결이 끊겼을 때 자동 재시도
engine = create_engine(db_url, pool_pre_ping=True)
Session = sessionmaker(bind=engine)
def get_session():
return Session()

16
lib/db_schema.py Normal file
View File

@ -0,0 +1,16 @@
# lib/db_schema.py
from sqlalchemy import Table, Column, Date, Float, MetaData
metadata = MetaData()
fg_manager_static_air = Table(
'fg_manager_static_air',
metadata,
Column('date', Date, primary_key=True, nullable=False),
Column('pm25', Float),
Column('pm10', Float),
Column('so2', Float),
Column('co', Float),
Column('no2', Float),
Column('o3', Float),
)