From bca49a333551df0c25d84a10a4b2e8b154e7dbcb Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 26 Feb 2025 17:16:19 -0300 Subject: [PATCH] refactor: Suppress SQLite foreign key warnings in Alembic migration (#6809) Fix: Suppress SQLite foreign key warnings in Alembic migration Handle SQLite-specific warnings during foreign key inspection in the Alembic migration script by using warnings.catch_warnings() to ignore foreign key constraint warnings --- .../alembic/versions/bc2f01c40e4a_new_fixes.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/backend/base/langflow/alembic/versions/bc2f01c40e4a_new_fixes.py b/src/backend/base/langflow/alembic/versions/bc2f01c40e4a_new_fixes.py index baed5543f..872497b8d 100644 --- a/src/backend/base/langflow/alembic/versions/bc2f01c40e4a_new_fixes.py +++ b/src/backend/base/langflow/alembic/versions/bc2f01c40e4a_new_fixes.py @@ -7,6 +7,7 @@ Create Date: 2024-01-26 13:34:14.496769 """ from typing import Sequence, Union +import warnings import sqlalchemy as sa import sqlmodel @@ -25,7 +26,11 @@ def upgrade() -> None: inspector = sa.inspect(conn) # type: ignore flow_columns = {column["name"] for column in inspector.get_columns("flow")} flow_indexes = {index["name"] for index in inspector.get_indexes("flow")} - flow_fks = {fk["name"] for fk in inspector.get_foreign_keys("flow")} + + # Suppress the SQLite foreign key warning + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", message=".*SQL-parsed foreign key constraint.*") + flow_fks = {fk["name"] for fk in inspector.get_foreign_keys("flow")} with op.batch_alter_table("flow", schema=None) as batch_op: if "is_component" not in flow_columns: @@ -47,7 +52,11 @@ def downgrade() -> None: inspector = sa.inspect(conn) # type: ignore flow_columns = {column["name"] for column in inspector.get_columns("flow")} flow_indexes = {index["name"] for index in inspector.get_indexes("flow")} - flow_fks = {fk["name"] for fk in inspector.get_foreign_keys("flow")} + + # Suppress the SQLite foreign key warning + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", message=".*SQL-parsed foreign key constraint.*") + flow_fks = {fk["name"] for fk in inspector.get_foreign_keys("flow")} with op.batch_alter_table("flow", schema=None) as batch_op: if "flow_user_id_fkey" in flow_fks: