From 4105c3b777e82cb4b6dadf27c109dd21010ad8ce Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Wed, 1 Jul 2026 23:06:39 +0200 Subject: Added db support --- db/session.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 db/session.py (limited to 'db/session.py') diff --git a/db/session.py b/db/session.py new file mode 100644 index 0000000..4d83649 --- /dev/null +++ b/db/session.py @@ -0,0 +1,21 @@ +from contextlib import contextmanager + +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker, scoped_session +from sqlmodel import Session + +from conf import DATABASE_URL +from utils.json import json_serializer + + +engine = create_engine(DATABASE_URL, echo=True, future=True, json_serializer=json_serializer, pool_size=100, pool_recycle=3600) +session_factory = sessionmaker(engine, class_=Session) +ScopedSession = scoped_session(session_factory=session_factory) + +def get_session(): + with ScopedSession() as session: + yield session + +@contextmanager +def get_session_context(): + yield from get_session() -- cgit v1.2.3