diff --git a/app/db_engine.py b/app/db_engine.py index 3b6645e..41beeac 100644 --- a/app/db_engine.py +++ b/app/db_engine.py @@ -8,39 +8,29 @@ from typing import Literal, List, Optional from pandas import DataFrame from peewee import * from peewee import ModelSelect +from playhouse.pool import PooledPostgresqlDatabase from playhouse.shortcuts import model_to_dict -# Database configuration - supports both SQLite and PostgreSQL -DATABASE_TYPE = os.environ.get("DATABASE_TYPE", "sqlite") - -if DATABASE_TYPE.lower() == "postgresql": - from playhouse.pool import PooledPostgresqlDatabase - - _postgres_password = os.environ.get("POSTGRES_PASSWORD") - if _postgres_password is None: - raise RuntimeError( - "POSTGRES_PASSWORD environment variable is not set. " - "This variable is required when DATABASE_TYPE=postgresql." - ) - db = PooledPostgresqlDatabase( - os.environ.get("POSTGRES_DB", "sba_master"), - user=os.environ.get("POSTGRES_USER", "sba_admin"), - password=_postgres_password, - host=os.environ.get("POSTGRES_HOST", "sba_postgres"), - port=int(os.environ.get("POSTGRES_PORT", "5432")), - max_connections=20, - stale_timeout=300, # 5 minutes - timeout=5, - autoconnect=False, - autorollback=True, # Automatically rollback failed transactions - ) -else: - # Default SQLite configuration - db = SqliteDatabase( - "storage/sba_master.db", - pragmas={"journal_mode": "wal", "cache_size": -1 * 64000, "synchronous": 0}, +_postgres_password = os.environ.get("POSTGRES_PASSWORD") +if _postgres_password is None: + raise RuntimeError( + "POSTGRES_PASSWORD environment variable is not set. " + "This variable is required when DATABASE_TYPE=postgresql." ) +db = PooledPostgresqlDatabase( + os.environ.get("POSTGRES_DB", "sba_master"), + user=os.environ.get("POSTGRES_USER", "sba_admin"), + password=_postgres_password, + host=os.environ.get("POSTGRES_HOST", "sba_postgres"), + port=int(os.environ.get("POSTGRES_PORT", "5432")), + max_connections=20, + stale_timeout=300, # 5 minutes + timeout=5, + autoconnect=False, + autorollback=True, # Automatically rollback failed transactions +) + date = f"{datetime.datetime.now().year}-{datetime.datetime.now().month}-{datetime.datetime.now().day}" logger = logging.getLogger("discord_app")