-- Cria a tabela de produtos
CREATE TABLE IF NOT EXISTS products (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
price DECIMAL(10, 2) NOT NULL, -- Ex: 99.90
description TEXT,
-- Caminhos das imagens
image_path VARCHAR(255) NOT NULL, -- Caminho local (ex: /assets/img.webp)
-- Metadados Ricos (JSON é ótimo para flexibilidade)
-- Guardará: { "width": 1080, "height": 1350, "color": "#AABBCC" }
image_metadata JSON NULL,
-- Controle de Integração
instagram_media_id VARCHAR(255) NULL, -- ID retornado pela API do Facebook
instagram_permalink VARCHAR(255) NULL, -- Link para o post
sync_status ENUM('pending', 'synced', 'failed') DEFAULT 'pending',
last_sync_error TEXT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Cria tabela de logs para Webhooks (Segurança para não perder dados)
CREATE TABLE IF NOT EXISTS webhook_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
payload JSON, -- O JSON cru que o Instagram mandou
processed BOOLEAN DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
|