-- Migration v81: Vincula conta_paciente_itens a agendamentos (consultas ambulatoriais)
-- Torna internacao_id opcional e adiciona agendamento_id
-- ATENÇÃO: se o banco já foi migrado manualmente, use o bloco "Correção" abaixo.

-- ── Instalação limpa (banco novo) ────────────────────────────────────────────
ALTER TABLE conta_paciente_itens
    MODIFY COLUMN internacao_id INT NULL DEFAULT NULL,
    ADD COLUMN agendamento_id INT NULL DEFAULT NULL AFTER internacao_id,
    ADD INDEX idx_agendamento (agendamento_id),
    ADD CONSTRAINT fk_conta_item_agendamento
        FOREIGN KEY (agendamento_id)
        REFERENCES master_agendamentos(id) ON DELETE SET NULL;

-- ── Correção (banco que já tinha agendamento_id com FK errada) ───────────────
-- Execute APENAS se o bloco acima falhar com "Duplicate column" ou FK errada:
--
-- ALTER TABLE conta_paciente_itens
--     DROP FOREIGN KEY fk_conta_agendamento,
--     ADD CONSTRAINT fk_conta_item_agendamento
--         FOREIGN KEY (agendamento_id)
--         REFERENCES master_agendamentos(id) ON DELETE SET NULL;
