aboutsummaryrefslogtreecommitdiffstats
path: root/db/session.py
diff options
context:
space:
mode:
Diffstat (limited to 'db/session.py')
-rw-r--r--db/session.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/db/session.py b/db/session.py
index 82c0211..48ef3b6 100644
--- a/db/session.py
+++ b/db/session.py
@@ -1,21 +1,28 @@
1from contextlib import contextmanager 1from contextlib import contextmanager
2 2
3from sqlalchemy.orm import sessionmaker, scoped_session 3from sqlalchemy.orm import scoped_session, sessionmaker
4from sqlmodel import create_engine 4from sqlmodel import Session, create_engine
5from sqlmodel import Session
6 5
7from conf import DATABASE_URL 6from conf import DATABASE_URL
8from utils.json import json_serializer 7from utils.json import json_serializer
9 8
10 9engine = create_engine(
11engine = create_engine(DATABASE_URL, echo=True, future=True, json_serializer=json_serializer, pool_size=100, pool_recycle=3600) 10 DATABASE_URL,
11 echo=True,
12 future=True,
13 json_serializer=json_serializer,
14 pool_size=100,
15 pool_recycle=3600,
16)
12session_factory = sessionmaker(engine, class_=Session) 17session_factory = sessionmaker(engine, class_=Session)
13ScopedSession = scoped_session(session_factory=session_factory) 18ScopedSession = scoped_session(session_factory=session_factory)
14 19
20
15def get_session(): 21def get_session():
16 with ScopedSession() as session: 22 with ScopedSession() as session:
17 yield session 23 yield session
18 24
25
19@contextmanager 26@contextmanager
20def get_session_context(autocommit=True): 27def get_session_context(autocommit=True):
21 session = next(get_session()) 28 session = next(get_session())