Files
2026-02-17 22:37:43 +03:30

26 lines
1.0 KiB
Python

"""
تنظیمات اتصال MySQL (فقط خواندنی).
از بخش جداگانه mysql در config.yml (هم‌سطح با database) استفاده می‌کند.
"""
from config import conf
def get_mysql_config(connection_name: str = None):
"""
بر اساس محیط (dev/production) تنظیمات MySQL را برمی‌گرداند.
Returns: dict با کلیدهای host, port, user, password, db
"""
if not conf.mysql:
raise ValueError("تنظیمات mysql در config.yml یافت نشد.")
env = "production" if conf.server.is_prod else "dev"
mode = getattr(conf.mysql, env, None) or getattr(conf.mysql, "dev", None)
if not mode:
raise ValueError(f"تنظیمات mysql.{env} در config.yml یافت نشد.")
return {
"host": getattr(mode, "host", "127.0.0.1"),
"port": int(getattr(mode, "port", 3306)),
"user": getattr(mode, "user", ""),
"password": getattr(mode, "password", ""),
"db": getattr(mode, "db", ""),
}