-- SQL para criação da tabela de rastreamento (tracking híbrido)
-- Esta tabela registra eventos do lado do cliente e servidor

CREATE TABLE IF NOT EXISTS tracking_eventos (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    session_id VARCHAR(100) NOT NULL,
    aluno_id INT NULL,
    order_nsu VARCHAR(50) NULL,
    evento VARCHAR(100) NOT NULL, -- Ex: 'page_view', 'button_click', 'form_submit', 'checkout_start', etc
    pagina VARCHAR(255) NOT NULL, -- URL ou nome da página
    origem VARCHAR(50), -- 'client' ou 'server'
    user_agent TEXT,
    ip_address VARCHAR(45),
    utm_source VARCHAR(100),
    utm_medium VARCHAR(100),
    utm_campaign VARCHAR(100),
    utm_content VARCHAR(100),
    utm_term VARCHAR(100),
    dados_adicionais TEXT, -- JSON com informações extras
    data_evento TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_session (session_id),
    INDEX idx_aluno (aluno_id),
    INDEX idx_order (order_nsu),
    INDEX idx_evento (evento),
    INDEX idx_data (data_evento),
    FOREIGN KEY (aluno_id) REFERENCES aluno(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Rastreamento híbrido de eventos do funil';

-- Adicionar coluna pixel_enviado na tabela compras
-- NOTA: Se a coluna já existir, o erro "Duplicate column name" pode ser ignorado
ALTER TABLE compras 
ADD COLUMN pixel_enviado TINYINT(1) DEFAULT 0 COMMENT '0 = não enviado, 1 = enviado';
