Files
multica/server/migrations/032_issue_search_index.up.sql
yushen a2a021a0dd fix(search): make pg_bigm migration graceful when extension unavailable
CI uses pgvector/pgvector:pg17 which doesn't ship pg_bigm. Wrap
CREATE EXTENSION and index creation in DO/EXCEPTION blocks so the
migration succeeds without pg_bigm — indexes are skipped and search
falls back to plain LIKE scans.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 14:00:03 +08:00

21 lines
713 B
SQL

-- Enable pg_bigm extension for bigram-based full-text search (CJK-friendly).
-- 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 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
$$;