From abc1981e6c8995246de7a076c71c2f272ee4105f Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Sat, 13 Dec 2025 21:45:45 +0200 Subject: [PATCH] fix migration version 8 --- .../8_add_content_hash_to_documents.py | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/surfsense_backend/alembic/versions/8_add_content_hash_to_documents.py b/surfsense_backend/alembic/versions/8_add_content_hash_to_documents.py index 6fa65a858..0a733efd9 100644 --- a/surfsense_backend/alembic/versions/8_add_content_hash_to_documents.py +++ b/surfsense_backend/alembic/versions/8_add_content_hash_to_documents.py @@ -66,6 +66,22 @@ def upgrade() -> None: def downgrade() -> None: - op.drop_constraint(op.f("uq_documents_content_hash"), "documents", type_="unique") - op.drop_index(op.f("ix_documents_content_hash"), table_name="documents") - op.drop_column("documents", "content_hash") + bind = op.get_bind() + inspector = inspect(bind) + + # Get existing constraints and indexes on documents + constraints = [c["name"] for c in inspector.get_unique_constraints("documents")] + indexes = [i["name"] for i in inspector.get_indexes("documents")] + columns = [col["name"] for col in inspector.get_columns("documents")] + + # Drop unique constraint if it exists + if "uq_documents_content_hash" in constraints: + op.drop_constraint("uq_documents_content_hash", "documents", type_="unique") + + # Drop index if it exists + if "ix_documents_content_hash" in indexes: + op.drop_index("ix_documents_content_hash", table_name="documents") + + # Drop column if it exists + if "content_hash" in columns: + op.drop_column("documents", "content_hash")