-- Migration v108: Modulo de Backup no Google Drive
-- Cria a tabela de historico de backups e a permissao de sistema

CREATE TABLE IF NOT EXISTS `backups` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `nome_arquivo` VARCHAR(255) NOT NULL,
  `tamanho_bytes` BIGINT NOT NULL,
  `tipo` VARCHAR(50) NOT NULL DEFAULT 'sql',
  `link_drive` VARCHAR(255) DEFAULT NULL,
  `status` VARCHAR(50) NOT NULL DEFAULT 'pendente',
  `criado_por` INT DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (`criado_por`) REFERENCES `usuarios`(`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `backup_config` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `drive_folder_id` VARCHAR(255) DEFAULT NULL,
  `auto_backup_ativo` TINYINT(1) DEFAULT 0,
  `dias_retencao` INT DEFAULT 7,
  `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT IGNORE INTO `backup_config` (`id`, `auto_backup_ativo`, `dias_retencao`) VALUES (1, 0, 7);

INSERT IGNORE INTO `permissoes` (`chave`, `nome`, `descricao`) 
VALUES ('backup_manage', 'Gerenciar Backups', 'Permite gerar, baixar e configurar backups no Google Drive');
