[Bug fix] Fix issue for using any metadata db apart from sqlite (#1282)

This commit is contained in:
Deshraj Yadav
2024-02-22 09:52:40 -08:00
committed by GitHub
parent f0400e928a
commit b4bb4cf053
2 changed files with 7 additions and 2 deletions

View File

@@ -19,7 +19,12 @@ class DatabaseManager:
def setup_engine(self) -> None:
"""Initializes the database engine and session factory."""
self.engine = create_engine(self.database_uri, echo=self.echo, connect_args={"check_same_thread": False})
if not self.database_uri:
raise RuntimeError("Database URI is not set. Set the EMBEDCHAIN_DB_URI environment variable.")
connect_args = {}
if self.database_uri.startswith("sqlite"):
connect_args["check_same_thread"] = False
self.engine = create_engine(self.database_uri, echo=self.echo, connect_args=connect_args)
self._session_factory = scoped_session(sessionmaker(bind=self.engine))
Base.metadata.bind = self.engine