-- ═══════════════════════════════════════════════════════════════════════════ -- Unifica paciente_id → patient_id em agenda_eventos -- ═══════════════════════════════════════════════════════════════════════════ -- Contexto: -- Campo legado `paciente_id` (texto, sem FK) coexiste com `patient_id` -- (uuid, com FK → patients.id). Eventos antigos têm `paciente_id` preenchido -- mas `patient_id = null`. Esta migration corrige isso e remove a coluna legada. -- -- SEGURANÇA: -- Execute em transação. Verifique os counts antes do COMMIT. -- ═══════════════════════════════════════════════════════════════════════════ BEGIN; -- 1. Copia paciente_id → patient_id onde patient_id ainda é null -- paciente_id já é uuid no banco — sem necessidade de cast ou validação de regex UPDATE public.agenda_eventos SET patient_id = paciente_id WHERE patient_id IS NULL AND paciente_id IS NOT NULL; -- 2. Verificação: deve retornar 0 SELECT COUNT(*) AS "orfaos_restantes" FROM public.agenda_eventos WHERE patient_id IS NULL AND paciente_id IS NOT NULL; -- 3. Remove a coluna legada ALTER TABLE public.agenda_eventos DROP COLUMN IF EXISTS paciente_id; -- 4. Remove FK e coluna legada de terapeuta_id se existir equivalente -- (opcional — remova o comentário se quiser limpar terapeuta_id também) -- ALTER TABLE public.agenda_eventos DROP COLUMN IF EXISTS terapeuta_id; COMMIT;