feat: add IF NOT EXISTS clause to unique index creation for Obsidian connectors to prevent errors during upgrades

This commit is contained in:
Anish Sarkar 2026-04-21 04:37:45 +05:30
parent 54ce2666f5
commit 9fded124fe

View file

@ -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'