diff --git a/migrations/6.3.0-01-kb-fail-state/down.sql b/migrations/6.3.0-01-kb-fail-state/down.sql new file mode 100644 index 00000000..8bc8d954 --- /dev/null +++ b/migrations/6.3.0-01-kb-fail-state/down.sql @@ -0,0 +1,8 @@ +-- ============================================ +-- Rollback KB Fail State +-- ============================================ + +DROP INDEX IF EXISTS idx_kb_documents_fail; +ALTER TABLE kb_documents + DROP COLUMN IF EXISTS fail_count, + DROP COLUMN IF EXISTS last_failed_at; diff --git a/migrations/6.3.0-01-kb-fail-state/up.sql b/migrations/6.3.0-01-kb-fail-state/up.sql new file mode 100644 index 00000000..96e6b88b --- /dev/null +++ b/migrations/6.3.0-01-kb-fail-state/up.sql @@ -0,0 +1,14 @@ +-- ============================================ +-- KB Documents Fail State +-- Version: 6.3.0 +-- ============================================ +-- Add fail_count and last_failed_at to kb_documents +-- for intelligent backoff retry logic + +ALTER TABLE kb_documents + ADD COLUMN IF NOT EXISTS fail_count INT NOT NULL DEFAULT 0, + ADD COLUMN IF NOT EXISTS last_failed_at TIMESTAMPTZ; + +CREATE INDEX IF NOT EXISTS idx_kb_documents_fail + ON kb_documents(bot_id, collection_name, fail_count) + WHERE fail_count > 0;