diff --git a/server/migrations/032_issue_search_index.up.sql b/server/migrations/032_issue_search_index.up.sql index bda9d2cfe5..9124e40b6c 100644 --- a/server/migrations/032_issue_search_index.up.sql +++ b/server/migrations/032_issue_search_index.up.sql @@ -1,8 +1,20 @@ -- Enable pg_bigm extension for bigram-based full-text search (CJK-friendly). -CREATE EXTENSION IF NOT EXISTS pg_bigm; +-- Skips gracefully if pg_bigm is not available (e.g. CI environments). +DO $$ +BEGIN + CREATE EXTENSION IF NOT EXISTS pg_bigm; +EXCEPTION WHEN OTHERS THEN + RAISE NOTICE 'pg_bigm not available, skipping bigram indexes'; +END +$$; --- GIN index on issue title for LIKE '%keyword%' queries. -CREATE INDEX idx_issue_title_bigm ON issue USING gin (title gin_bigm_ops); - --- GIN index on issue description (nullable, use COALESCE). -CREATE INDEX idx_issue_description_bigm ON issue USING gin (COALESCE(description, '') gin_bigm_ops); +-- GIN indexes on issue title/description for LIKE '%keyword%' queries. +-- Only created when pg_bigm is installed. +DO $$ +BEGIN + CREATE INDEX idx_issue_title_bigm ON issue USING gin (title gin_bigm_ops); + CREATE INDEX idx_issue_description_bigm ON issue USING gin (COALESCE(description, '') gin_bigm_ops); +EXCEPTION WHEN OTHERS THEN + RAISE NOTICE 'skipping bigram indexes (pg_bigm not installed)'; +END +$$; diff --git a/server/migrations/033_comment_search_index.up.sql b/server/migrations/033_comment_search_index.up.sql index b552fde38f..0ce84b589b 100644 --- a/server/migrations/033_comment_search_index.up.sql +++ b/server/migrations/033_comment_search_index.up.sql @@ -1,2 +1,9 @@ -- GIN index on comment content for LIKE '%keyword%' queries (pg_bigm). -CREATE INDEX idx_comment_content_bigm ON comment USING gin (content gin_bigm_ops); +-- Only created when pg_bigm is installed. +DO $$ +BEGIN + CREATE INDEX idx_comment_content_bigm ON comment USING gin (content gin_bigm_ops); +EXCEPTION WHEN OTHERS THEN + RAISE NOTICE 'skipping bigram index on comment (pg_bigm not installed)'; +END +$$;