| 1234567891011121314151617181920212223 |
- -- ============================================================
- -- Migration: json → jsonb for existing databases
- -- Run this on existing PostgreSQL databases to apply Phase 1 changes
- -- Safe to run multiple times (uses IF NOT EXISTS / ALTER COLUMN IF)
- -- ============================================================
- BEGIN;
- -- Convert json columns to jsonb
- ALTER TABLE public.drugs ALTER COLUMN sections TYPE jsonb USING sections::jsonb;
- ALTER TABLE public.knowledge_points ALTER COLUMN related_drugs TYPE jsonb USING related_drugs::jsonb;
- ALTER TABLE public.questions ALTER COLUMN options TYPE jsonb USING options::jsonb;
- ALTER TABLE public.questions ALTER COLUMN knowledge_point_ids TYPE jsonb USING knowledge_point_ids::jsonb;
- -- Add GIN indexes for jsonb columns (performance)
- CREATE INDEX IF NOT EXISTS ix_drugs_sections_gin ON public.drugs USING gin (sections);
- CREATE INDEX IF NOT EXISTS ix_drugs_source_version ON public.drugs USING btree (source_version);
- COMMIT;
|