From d6bb6bf3d9fdf1acde2c920d54eb64124ccfce10 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 8 Aug 2023 17:41:17 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(base.py):=20handle=20case=20?= =?UTF-8?q?where=20database=20and=20tables=20already=20exist=20to=20preven?= =?UTF-8?q?t=20error=20and=20log=20a=20debug=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/database/base.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/backend/langflow/database/base.py b/src/backend/langflow/database/base.py index 546c341c1..12f757a04 100644 --- a/src/backend/langflow/database/base.py +++ b/src/backend/langflow/database/base.py @@ -3,6 +3,7 @@ import os from sqlmodel import SQLModel, Session, create_engine from langflow.utils.logger import logger +import sqlalchemy as sa class Engine: @@ -43,6 +44,13 @@ def create_db_and_tables(): logger.debug("Creating database and tables") try: SQLModel.metadata.create_all(Engine.get()) + except sa.exc.OperationalError as exc: + # Check if the error is because the table already exists + if "already exists" in str(exc): + logger.debug("Database and tables already exist") + else: + logger.error(f"Error creating database and tables: {exc}") + raise RuntimeError("Error creating database and tables") from exc except Exception as exc: logger.error(f"Error creating database and tables: {exc}") raise RuntimeError("Error creating database and tables") from exc