-- Tabela: usuarios
CREATE TABLE `usuarios` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nome` VARCHAR(100) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`senha` VARCHAR(255) NOT NULL,
`is_admin` TINYINT(1) DEFAULT 0,
`data_cadastro` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabela: planos
CREATE TABLE `planos` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nome` VARCHAR(50) NOT NULL,
`descricao` TEXT DEFAULT NULL,
`preco` DECIMAL(10,2) NOT NULL,
`preco_original` DECIMAL(10,2) DEFAULT NULL,
`armazenamento` VARCHAR(20) DEFAULT NULL,
`largura_banda` VARCHAR(20) DEFAULT NULL,
`sites` INT(11) DEFAULT NULL,
`contas_email` INT(11) DEFAULT NULL,
`banco_dados` INT(11) DEFAULT NULL,
`dominio_gratis` TINYINT(1) DEFAULT 0,
`economia` DECIMAL(10,2) DEFAULT NULL,
`destaque` TINYINT(1) DEFAULT 0,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabela: assinaturas
CREATE TABLE `assinaturas` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`usuario_id` INT(11) NOT NULL,
`plano_id` INT(11) NOT NULL,
`data_inicio` DATETIME DEFAULT CURRENT_TIMESTAMP,
`data_vencimento` DATETIME DEFAULT NULL,
`status` ENUM('ativo','cancelado','suspenso') DEFAULT 'ativo',
PRIMARY KEY (`id`),
KEY `usuario_id` (`usuario_id`),
KEY `plano_id` (`plano_id`),
FOREIGN KEY (`usuario_id`) REFERENCES `usuarios` (`id`) ON DELETE CASCADE,
FOREIGN KEY (`plano_id`) REFERENCES `planos` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabela: pagamentos
CREATE TABLE `pagamentos` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`assinatura_id` INT(11) NOT NULL,
`valor` DECIMAL(10,2) NOT NULL,
`metodo` ENUM('cartao','pix') NOT NULL,
`data_pagamento` DATETIME DEFAULT CURRENT_TIMESTAMP,
`status` ENUM('pendente','completo','falhou') DEFAULT 'pendente',
PRIMARY KEY (`id`),
KEY `assinatura_id` (`assinatura_id`),
FOREIGN KEY (`assinatura_id`) REFERENCES `assinaturas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabela: arquivos
CREATE TABLE `arquivos` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`id_usuario` INT(11) DEFAULT NULL,
`nome_arquivo` VARCHAR(255) DEFAULT NULL,
`tamanho` INT(11) DEFAULT NULL,
`data_upload` DATETIME(6) DEFAULT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`id_usuario`) REFERENCES `usuarios` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
SHOW TABLES;