Agenda, Agendador, Configurações
This commit is contained in:
34
migrations/unify_patient_id.sql
Normal file
34
migrations/unify_patient_id.sql
Normal file
@@ -0,0 +1,34 @@
|
||||
-- ═══════════════════════════════════════════════════════════════════════════
|
||||
-- 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;
|
||||
Reference in New Issue
Block a user