-- Script para adicionar a coluna pixel_enviado na tabela compras
-- Execute este script se a coluna ainda não existir

-- Verifica e adiciona a coluna pixel_enviado
ALTER TABLE compras 
ADD COLUMN IF NOT EXISTS pixel_enviado TINYINT(1) NOT NULL DEFAULT 0 
COMMENT 'Flag para rastrear se o evento Meta Pixel Purchase foi enviado (0=não, 1=sim)';

-- Cria índice para otimizar consultas que filtram por pixel_enviado
CREATE INDEX IF NOT EXISTS idx_pixel_enviado ON compras(pixel_enviado);

-- Atualiza compras existentes que estão pagas mas ainda não têm o flag
-- (assumindo que se já está pago há mais de 1 hora, o pixel já foi ou deveria ter sido enviado)
UPDATE compras 
SET pixel_enviado = 1 
WHERE status = 'paid' 
  AND data_pagamento < DATE_SUB(NOW(), INTERVAL 1 HOUR)
  AND pixel_enviado = 0;

-- Verifica se a coluna foi criada
SELECT 
    COLUMN_NAME,
    DATA_TYPE,
    COLUMN_DEFAULT,
    IS_NULLABLE,
    COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'compras' 
  AND COLUMN_NAME = 'pixel_enviado';
