import os
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
class Config:
# MySQL Configuration
MYSQL_HOST = os.getenv("MYSQL_HOST", "localhost")
MYSQL_PORT = int(os.getenv("MYSQL_PORT", 3306))
MYSQL_USER = os.getenv("MYSQL_USER", "root")
MYSQL_PASSWORD = os.getenv("MYSQL_PASSWORD", "")
MYSQL_DATABASE = os.getenv("MYSQL_DATABASE", "")
# Debug Configuration
DEBUG = os.getenv("DEBUG", "False").lower() == "true"
# Connection Pool Settings
MYSQL_POOL_SIZE = int(os.getenv("MYSQL_POOL_SIZE", 5))
MYSQL_MAX_OVERFLOW = int(os.getenv("MYSQL_MAX_OVERFLOW", 10))
MYSQL_POOL_TIMEOUT = int(os.getenv("MYSQL_POOL_TIMEOUT", 30))
MYSQL_POOL_RECYCLE = int(os.getenv("MYSQL_POOL_RECYCLE", 3600))
@property
def database_url(self):
return f"mysql+pymysql://{self.MYSQL_USER}:{self.MYSQL_PASSWORD}@{self.MYSQL_HOST}:{self.MYSQL_PORT}/{self.MYSQL_DATABASE}"
config = Config()