==================================================== CRIAÇÃO DAS TABELAS NA BASE DE DADOS _MASTER V1.0 ===================================================== -- Estrutura da GestMy Master CREATE TABLE IF NOT EXISTS `empresas` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `nome_empresa` VARCHAR(100) NOT NULL, `db_name` VARCHAR(100) NOT NULL UNIQUE, `ativo` TINYINT(1) NOT NULL DEFAULT 1, `criado_em` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `utilizadores_master` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `id_empresa` INT NOT NULL, `nome` VARCHAR(100) NOT NULL, `email` VARCHAR(100) NOT NULL UNIQUE, `password` VARCHAR(255) NOT NULL, `google2fa_secret` VARCHAR(32) NULL, `google2fa_enabled` TINYINT(1) NOT NULL DEFAULT 0, `criado_em` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (`id_empresa`) REFERENCES `empresas`(`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- INSERÇÃO DE TESTE (Ajuste o 'db_name' com o prefixo real do seu cPanel) INSERT INTO `empresas` (`id`, `nome_empresa`, `db_name`, `ativo`) VALUES (1, 'NEGOTIISBOX, LDA', 'negotii1_gestmy_negotiisbox ', 1); -- Utilizador: admin@gestmy.negotiisbox.pt | Palavra-passe: 123456 INSERT INTO `utilizadores_master` (`id_empresa`, `nome`, `email`, `password`, `google2fa_enabled`) VALUES (1, 'Administrador', 'admin@gestmy.negotiisbox.pt', '$2y$10$mC/HjW7Kbe8MlhZq9L.RreK8gHwZ83WcTymxR37eI6wZqD862gbeS', 0); ==================================================== CRIAÇÃO DAS TABELAS NA BASE DE DADOS _CLIENTES V1.0 ===================================================== -- Estrutura de Tabelas Isoladas do Cliente CREATE TABLE IF NOT EXISTS `fornecedores` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `nome` VARCHAR(100) NOT NULL, `whatsapp` VARCHAR(20) NOT NULL, `email` VARCHAR(100) NULL, `criado_em` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `produtos` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `nome` VARCHAR(150) NOT NULL, `preco_custo` DECIMAL(10,2) NOT NULL DEFAULT '0.00', `id_fornecedor` INT NULL, `criado_em` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (`id_fornecedor`) REFERENCES `fornecedores`(`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `encomendas` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `data_encomenda` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `status` ENUM('Pendente', 'Enviada', 'Concluída', 'Cancelada') DEFAULT 'Pendente', `observacoes` TEXT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `itens_encomenda` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `id_encomenda` INT NOT NULL, `id_produto` INT NOT NULL, `quantidade` INT NOT NULL DEFAULT 1, `preco_unitario` DECIMAL(10,2) NOT NULL, FOREIGN KEY (`id_encomenda`) REFERENCES `encomendas`(`id`) ON DELETE CASCADE, FOREIGN KEY (`id_produto`) REFERENCES `produtos`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;