SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; CREATE TABLE `acl` ( `ref_group` varchar(255) DEFAULT NULL, `ref_endpoint` varchar(255) NOT NULL, `method` enum('GET','POST','PUT','PATCH','DELETE') NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE `endpoints` ( `id` varchar(255) NOT NULL, `active` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; INSERT INTO `endpoints` (`id`, `active`) VALUES ('about/languages', 1), ('coffee', 1), ('coffee/stats', 1), ('messages', 1), ('notes', 1), ('playground/coffee', 1), ('search', 1), ('update', 1), ('work', 1), ('work/actions', 1), ('work/tags', 1), ('work/timeline', 1); CREATE TABLE `groups` ( `id` varchar(255) NOT NULL, `active` tinyint(1) UNSIGNED NOT NULL DEFAULT 1, `date_created` int(32) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE `keys` ( `id` varchar(255) NOT NULL, `active` tinyint(1) NOT NULL DEFAULT 1, `ref_user` varchar(255) DEFAULT NULL, `expires` int(32) DEFAULT NULL, `created` int(32) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE `rel_users_groups` ( `ref_user` varchar(255) NOT NULL, `ref_group` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE `users` ( `id` varchar(255) NOT NULL, `active` tinyint(1) NOT NULL DEFAULT 1, `created` int(32) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ALTER TABLE `acl` ADD KEY `endpoint` (`ref_endpoint`), ADD KEY `ref_group` (`ref_group`); ALTER TABLE `endpoints` ADD PRIMARY KEY (`id`); ALTER TABLE `groups` ADD PRIMARY KEY (`id`); ALTER TABLE `keys` ADD PRIMARY KEY (`id`), ADD KEY `ref_user` (`ref_user`); ALTER TABLE `rel_users_groups` ADD KEY `ref_user` (`ref_user`), ADD KEY `ref_group` (`ref_group`); ALTER TABLE `users` ADD PRIMARY KEY (`id`); ALTER TABLE `acl` ADD CONSTRAINT `acl_ibfk_1` FOREIGN KEY (`ref_endpoint`) REFERENCES `endpoints` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `acl_ibfk_2` FOREIGN KEY (`ref_group`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE `keys` ADD CONSTRAINT `keys_ibfk_1` FOREIGN KEY (`ref_user`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `rel_users_groups` ADD CONSTRAINT `rel_users_groups_ibfk_1` FOREIGN KEY (`ref_user`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `rel_users_groups_ibfk_2` FOREIGN KEY (`ref_group`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;