From f1773a906c4e79c6a3dbb9a48d6ec1dcf898f491 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 4 Dec 2023 15:37:28 -0300 Subject: [PATCH] Fix database initialization issue and add delay after upgrade --- src/backend/langflow/services/database/service.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/backend/langflow/services/database/service.py b/src/backend/langflow/services/database/service.py index 5a1ba8775..23dd4a351 100644 --- a/src/backend/langflow/services/database/service.py +++ b/src/backend/langflow/services/database/service.py @@ -5,16 +5,17 @@ from typing import TYPE_CHECKING import sqlalchemy as sa from alembic import command, util from alembic.config import Config +from loguru import logger +from sqlalchemy import inspect +from sqlalchemy.exc import OperationalError +from sqlmodel import Session, SQLModel, create_engine, text + from langflow.services.base import Service from langflow.services.database import models # noqa from langflow.services.database.models.user.crud import get_user_by_username from langflow.services.database.utils import Result, TableResults from langflow.services.deps import get_settings_service from langflow.services.utils import teardown_superuser -from loguru import logger -from sqlalchemy import inspect -from sqlalchemy.exc import OperationalError -from sqlmodel import Session, SQLModel, create_engine if TYPE_CHECKING: from sqlalchemy.engine import Engine @@ -130,7 +131,7 @@ class DatabaseService(Service): # If the table does not exist it throws an error # so we need to catch it try: - session.execute("SELECT * FROM alembic_version") + session.exec(text("SELECT * FROM alembic_version")) except Exception: logger.info("Alembic not initialized") try: @@ -150,6 +151,7 @@ class DatabaseService(Service): except Exception as exc: if isinstance(exc, util.exc.CommandError) or isinstance(exc, util.exc.AutogenerateDiffsDetected): command.upgrade(alembic_cfg, "head") + time.sleep(3) try: command.check(alembic_cfg)