CREATE TABLE IF NOT EXISTS `plaid_connections` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `client_id` INT NOT NULL,                       -- ID del usuario/cliente dentro de este Tenant
    `item_id` VARCHAR(255) NOT NULL,    -- Identificador de la conexión en Plaid
    `access_token` TEXT NOT NULL,                   -- Token cifrado (AES-256)
    `institution_name` VARCHAR(150),                -- Nombre del banco (útil para la UI)
    `status` ENUM('active', 'error', 'disconnected') DEFAULT 'active',
    `last_sync` DATETIME DEFAULT CURRENT_TIMESTAMP,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY `unique_item` (`item_id`),           -- Evita que se duplique la misma conexión
    INDEX `idx_client` (`client_id`)                -- Búsqueda rápida por cliente
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;