feat(root):add mysql

This commit is contained in:
shahzeydyfah
2026-02-17 22:37:43 +03:30
parent 7e25cd6674
commit abb1c01753
3 changed files with 173 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
"""
تنظیمات اتصال 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", ""),
}