mirror of
https://github.com/langgenius/dify.git
synced 2026-01-19 11:45:05 +08:00
fix(db): parameterize sessionmaker with Session (#30612)
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
from sqlalchemy import Engine
|
from sqlalchemy import Engine
|
||||||
from sqlalchemy.orm import Session, sessionmaker
|
from sqlalchemy.orm import Session, sessionmaker
|
||||||
|
|
||||||
_session_maker: sessionmaker | None = None
|
_session_maker: sessionmaker[Session] | None = None
|
||||||
|
|
||||||
|
|
||||||
def configure_session_factory(engine: Engine, expire_on_commit: bool = False):
|
def configure_session_factory(engine: Engine, expire_on_commit: bool = False):
|
||||||
@ -10,7 +10,7 @@ def configure_session_factory(engine: Engine, expire_on_commit: bool = False):
|
|||||||
_session_maker = sessionmaker(bind=engine, expire_on_commit=expire_on_commit)
|
_session_maker = sessionmaker(bind=engine, expire_on_commit=expire_on_commit)
|
||||||
|
|
||||||
|
|
||||||
def get_session_maker() -> sessionmaker:
|
def get_session_maker() -> sessionmaker[Session]:
|
||||||
if _session_maker is None:
|
if _session_maker is None:
|
||||||
raise RuntimeError("Session factory not configured. Call configure_session_factory() first.")
|
raise RuntimeError("Session factory not configured. Call configure_session_factory() first.")
|
||||||
return _session_maker
|
return _session_maker
|
||||||
@ -27,7 +27,7 @@ class SessionFactory:
|
|||||||
configure_session_factory(engine, expire_on_commit)
|
configure_session_factory(engine, expire_on_commit)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_session_maker() -> sessionmaker:
|
def get_session_maker() -> sessionmaker[Session]:
|
||||||
return get_session_maker()
|
return get_session_maker()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|||||||
Reference in New Issue
Block a user