feat(sqlalchemy): remove session reference from router

This commit is contained in:
Jonathan Rohde
2024-06-21 14:58:57 +02:00
parent df09d0830a
commit bee835cb65
34 changed files with 1231 additions and 1211 deletions

View File

@@ -1,6 +1,7 @@
import os
import logging
import json
from contextlib import contextmanager
from typing import Optional, Any
from typing_extensions import Self
@@ -52,11 +53,12 @@ if "sqlite" in SQLALCHEMY_DATABASE_URL:
)
else:
engine = create_engine(SQLALCHEMY_DATABASE_URL, pool_pre_ping=True)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine, expire_on_commit=False)
Base = declarative_base()
def get_db():
@contextmanager
def get_session():
db = SessionLocal()
try:
yield db
@@ -64,5 +66,4 @@ def get_db():
except Exception as e:
db.rollback()
raise e
finally:
db.close()