26 lines
1.0 KiB
Python
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", ""),
|
|
}
|