From 9fded124fe23a712850e497e1f430b250b254776 Mon Sep 17 00:00:00 2001 From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com> Date: Tue, 21 Apr 2026 04:37:45 +0530 Subject: [PATCH] feat: add IF NOT EXISTS clause to unique index creation for Obsidian connectors to prevent errors during upgrades --- .../alembic/versions/129_obsidian_plugin_vault_identity.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/surfsense_backend/alembic/versions/129_obsidian_plugin_vault_identity.py b/surfsense_backend/alembic/versions/129_obsidian_plugin_vault_identity.py index c7045adf0..e716dfff1 100644 --- a/surfsense_backend/alembic/versions/129_obsidian_plugin_vault_identity.py +++ b/surfsense_backend/alembic/versions/129_obsidian_plugin_vault_identity.py @@ -57,7 +57,8 @@ def upgrade() -> None: conn.execute( sa.text( """ - CREATE UNIQUE INDEX search_source_connectors_obsidian_plugin_vault_uniq + CREATE UNIQUE INDEX IF NOT EXISTS + search_source_connectors_obsidian_plugin_vault_uniq ON search_source_connectors (user_id, ((config->>'vault_id'))) WHERE connector_type = 'OBSIDIAN_CONNECTOR' AND config->>'source' = 'plugin' @@ -69,7 +70,8 @@ def upgrade() -> None: conn.execute( sa.text( """ - CREATE UNIQUE INDEX search_source_connectors_obsidian_plugin_fingerprint_uniq + CREATE UNIQUE INDEX IF NOT EXISTS + search_source_connectors_obsidian_plugin_fingerprint_uniq ON search_source_connectors (user_id, ((config->>'vault_fingerprint'))) WHERE connector_type = 'OBSIDIAN_CONNECTOR' AND config->>'source' = 'plugin'