From 62f2288460fb2d6bf07be76df6edff7900b93e2e Mon Sep 17 00:00:00 2001 From: -LAN- Date: Wed, 3 Sep 2025 10:22:20 +0800 Subject: [PATCH] refactor: use SQLAlchemy inspector for database-agnostic table existence check Replace PostgreSQL-specific information_schema query with SQLAlchemy's inspector API that works across all supported database types. --- ...6704509_remove_unused_is_deleted_field_from_.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/api/migrations/versions/2025_09_02_2012-4f02b6704509_remove_unused_is_deleted_field_from_.py b/api/migrations/versions/2025_09_02_2012-4f02b6704509_remove_unused_is_deleted_field_from_.py index 8f0ccd9c93..ae90911817 100644 --- a/api/migrations/versions/2025_09_02_2012-4f02b6704509_remove_unused_is_deleted_field_from_.py +++ b/api/migrations/versions/2025_09_02_2012-4f02b6704509_remove_unused_is_deleted_field_from_.py @@ -8,6 +8,7 @@ Create Date: 2025-09-02 20:12:37.311318 from alembic import op import models as models import sqlalchemy as sa +from sqlalchemy import inspect # revision identifiers, used by Alembic. @@ -51,15 +52,12 @@ def downgrade(): # Restore soft-deleted conversations from backup table if it exists - # Check if backup table exists - result = op.get_bind().execute(sa.text(f""" - SELECT EXISTS ( - SELECT FROM information_schema.tables - WHERE table_name = '{backup_table_name}' - ) - """)) + # Check if backup table exists using inspector (works for all database types) + bind = op.get_bind() + inspector = inspect(bind) + existing_tables = inspector.get_table_names() - if result.scalar(): + if backup_table_name in existing_tables: # Restore the soft-deleted conversations op.execute(sa.text(f""" INSERT INTO conversations