diff --git a/mybot/config.py b/mybot/config.py index 4247d6f..24c84b7 100644 --- a/mybot/config.py +++ b/mybot/config.py @@ -54,10 +54,14 @@ class StateStorageConfig: @dataclass class DatabaseConfig: url: str + pool_recycle: int + pool_pre_ping: bool @classmethod def from_env(cls): - return cls(os.getenv("DATABASE_URL", "sqlite:///bot.db")) + return cls(os.getenv("DB_URL", "sqlite:///bot.db"), + int(os.getenv("DB_POOL_RECYCLE", 3600)), + bool(int(os.getenv("DB_POOL_PRE_PING", True)))) @dataclass diff --git a/mybot/database/__init__.py b/mybot/database/__init__.py index 5891c9a..5273e53 100644 --- a/mybot/database/__init__.py +++ b/mybot/database/__init__.py @@ -7,8 +7,8 @@ from .models import User def get_engine(config: DatabaseConfig): engine = create_engine(config.url, - pool_recycle=3600, - pool_pre_ping=True) + pool_recycle=config.pool_recycle, + pool_pre_ping=config.pool_pre_ping) return engine