-- ADICIONAR CONSTRAINT UNIQUE PARA EVITAR DUPLICATAS
-- Garante que não haverá mais de 1 checklist por viagem+veículo

-- 1. Primeiro, limpar duplicatas existentes
DELETE c1 FROM checklist_veiculo c1
INNER JOIN checklist_veiculo c2 
WHERE c1.viagem_id = c2.viagem_id 
  AND c1.veiculo_id = c2.veiculo_id 
  AND c1.id < c2.id;

-- 2. Adicionar constraint UNIQUE
-- Isso evitará inserções duplicadas diretamente no banco
ALTER TABLE checklist_veiculo 
ADD CONSTRAINT uk_checklist_viagem_veiculo 
UNIQUE (viagem_id, veiculo_id);

-- 3. Verificar se a constraint foi criada
SHOW CREATE TABLE checklist_veiculo;

-- 4. Testar tentativa de inserção duplicada (deve falhar)
-- INSERT INTO checklist_veiculo (viagem_id, veiculo_id, tipo_veiculo, data_hora, itens_json, observacoes_gerais, sincronizado) 
-- VALUES (140, 6, 'CARRO', NOW(), '[]', '', 0);
-- Esta inserção deve falhar com erro de constraint unique 