Files

31 lines
1.4 KiB
SQL
Raw Permalink Normal View History

-- Migration: 000036_kb_vector_store_id (rollback)
-- Description: Remove vector_store_id column and its index from knowledge_bases.
--
-- WARNING: This rollback is destructive. It permanently drops the vector_store_id column
-- and all KB ↔ VectorStore bindings. To preserve bindings before rollback:
--
-- CREATE TABLE knowledge_bases_vsid_backup AS
-- SELECT id, tenant_id, vector_store_id FROM knowledge_bases
-- WHERE vector_store_id IS NOT NULL;
--
-- This down migration does NOT block execution when non-NULL rows exist, because blocking
-- during an emergency rollback can make an incident worse. The RAISE NOTICE below logs the
-- number of rows whose bindings will be lost so operators can reconstruct later if needed.
DO $$
DECLARE non_null_count BIGINT;
BEGIN
SELECT COUNT(*) INTO non_null_count
FROM knowledge_bases WHERE vector_store_id IS NOT NULL;
IF non_null_count > 0 THEN
RAISE NOTICE '[Migration 000036 DOWN] Dropping vector_store_id with % non-NULL rows; these bindings will be lost', non_null_count;
ELSE
RAISE NOTICE '[Migration 000036 DOWN] Removing vector_store_id column from knowledge_bases';
END IF;
END $$;
DROP INDEX IF EXISTS idx_knowledge_bases_tenant_vector_store;
ALTER TABLE knowledge_bases DROP COLUMN IF EXISTS vector_store_id;
DO $$ BEGIN RAISE NOTICE '[Migration 000036 DOWN] vector_store_id column removed successfully'; END $$;