-- ============================================
-- CRIAÇÃO DA TABELA CHECKLIST_VEICULO
-- Sistema de checklist pós-viagem
-- Data: 2025-01-26
-- ============================================

USE controle_frotas;

-- Criar tabela checklist_veiculo se não existir
CREATE TABLE IF NOT EXISTS checklist_veiculo (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    viagem_id BIGINT NOT NULL,
    veiculo_id BIGINT NOT NULL,
    data_hora DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    itens_json TEXT NOT NULL COMMENT 'JSON com todos os itens do checklist e seus status',
    observacoes_gerais TEXT DEFAULT NULL,
    sincronizado BOOLEAN DEFAULT FALSE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    -- Índices para performance
    INDEX idx_viagem_id (viagem_id),
    INDEX idx_veiculo_id (veiculo_id),
    INDEX idx_data_hora (data_hora),
    INDEX idx_sincronizado (sincronizado),
    
    -- Foreign keys (se as tabelas existirem)
    CONSTRAINT fk_checklist_viagem 
        FOREIGN KEY (viagem_id) REFERENCES viagens(id) 
        ON UPDATE CASCADE ON DELETE CASCADE,
    CONSTRAINT fk_checklist_veiculo 
        FOREIGN KEY (veiculo_id) REFERENCES veiculos(id) 
        ON UPDATE CASCADE ON DELETE CASCADE
        
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='Armazena checklists de veículos realizados após viagens';

-- Verificar se a tabela foi criada
SELECT 'Tabela checklist_veiculo criada com sucesso' as status;

-- Mostrar estrutura da tabela
DESCRIBE checklist_veiculo; 