SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for `profile` -- ---------------------------- DROP TABLE IF EXISTS `profile`; CREATE TABLE `profile` ( `user_id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `public_email` varchar(255) DEFAULT NULL, `gravatar_email` varchar(255) DEFAULT NULL, `gravatar_id` varchar(32) DEFAULT NULL, `location` varchar(255) DEFAULT NULL, `website` varchar(255) DEFAULT NULL, `timezone` varchar(40) DEFAULT NULL, `bio` text, PRIMARY KEY (`user_id`), CONSTRAINT `fk_user_profile` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for `social_account` -- ---------------------------- DROP TABLE IF EXISTS `social_account`; CREATE TABLE `social_account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) DEFAULT NULL, `provider` varchar(255) NOT NULL, `client_id` varchar(255) NOT NULL, `code` varchar(32) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `username` varchar(255) DEFAULT NULL, `data` text, `created_at` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `account_unique` (`provider`,`client_id`), UNIQUE KEY `account_unique_code` (`code`), KEY `fk_user_account` (`user_id`), CONSTRAINT `fk_user_account` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for `token` -- ---------------------------- DROP TABLE IF EXISTS `token`; CREATE TABLE `token` ( `user_id` int(11) NOT NULL, `code` varchar(32) NOT NULL, `type` smallint(6) NOT NULL, `created_at` int(11) NOT NULL, UNIQUE KEY `token_unique` (`user_id`,`code`,`type`), CONSTRAINT `fk_user_token` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for `user` -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password_hash` varchar(60) NOT NULL, `auth_key` varchar(32) NOT NULL, `unconfirmed_email` varchar(255) DEFAULT NULL, `registration_ip` varchar(45) DEFAULT NULL, `confirmed_at` int(11) DEFAULT NULL, `blocked_at` int(11) DEFAULT NULL, `created_at` int(11) NOT NULL, `updated_at` int(11) NOT NULL, `auth_tf_key` varchar(16) DEFAULT NULL, `auth_tf_enabled` tinyint(1) DEFAULT '0', `auth_tf_type` varchar(20) DEFAULT NULL, `auth_tf_mobile_phone` varchar(20) DEFAULT NULL, `flags` int(11) NOT NULL DEFAULT '0', `last_login_at` int(11) DEFAULT NULL, `gdpr_consent` tinyint(1) NULL DEFAULT '0', `gdpr_consent_date` int(11) NULL, `gdpr_deleted` tinyint(1) DEFAULT '0', `last_login_ip` varchar(45) DEFAULT NULL, `password_changed_at` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `user_unique_email` (`email`), UNIQUE KEY `user_unique_username` (`username`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `auth_assignment`; CREATE TABLE `auth_assignment` ( `item_name` varchar(64) COLLATE utf8_unicode_ci NOT NULL, `user_id` varchar(64) COLLATE utf8_unicode_ci NOT NULL, `created_at` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -------------------------------------------------------- -- -- Structure `auth_item` -- DROP TABLE IF EXISTS `auth_item`; CREATE TABLE `auth_item` ( `name` varchar(64) COLLATE utf8_unicode_ci NOT NULL, `type` smallint(6) NOT NULL, `description` text COLLATE utf8_unicode_ci, `rule_name` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, `data` blob, `created_at` int(11) DEFAULT NULL, `updated_at` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -------------------------------------------------------- -- -- Structure `auth_item_child` -- DROP TABLE IF EXISTS `auth_item_child`; CREATE TABLE `auth_item_child` ( `parent` varchar(64) COLLATE utf8_unicode_ci NOT NULL, `child` varchar(64) COLLATE utf8_unicode_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -------------------------------------------------------- -- -- Structure `auth_rule` -- DROP TABLE IF EXISTS `auth_rule`; CREATE TABLE `auth_rule` ( `name` varchar(64) COLLATE utf8_unicode_ci NOT NULL, `data` blob, `created_at` int(11) DEFAULT NULL, `updated_at` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Indexes -- -- -- Index for `auth_assignment` -- ALTER TABLE `auth_assignment` ADD PRIMARY KEY (`item_name`,`user_id`), ADD KEY `auth_assignment_user_id_idx` (`user_id`); -- -- Index for `auth_item` -- ALTER TABLE `auth_item` ADD PRIMARY KEY (`name`), ADD KEY `rule_name` (`rule_name`), ADD KEY `idx-auth_item-type` (`type`); -- -- Index for `auth_item_child` -- ALTER TABLE `auth_item_child` ADD PRIMARY KEY (`parent`,`child`), ADD KEY `child` (`child`); -- -- Index for `auth_rule` -- ALTER TABLE `auth_rule` ADD PRIMARY KEY (`name`); -- -- Restrictions -- -- -- `auth_assignment` filters -- ALTER TABLE `auth_assignment` ADD CONSTRAINT `auth_assignment_ibfk_1` FOREIGN KEY (`item_name`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- `auth_item` filters -- ALTER TABLE `auth_item` ADD CONSTRAINT `auth_item_ibfk_1` FOREIGN KEY (`rule_name`) REFERENCES `auth_rule` (`name`) ON DELETE SET NULL ON UPDATE CASCADE; -- -- `auth_item_child` filters -- ALTER TABLE `auth_item_child` ADD CONSTRAINT `auth_item_child_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `auth_item_child_ibfk_2` FOREIGN KEY (`child`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; COMMIT; SET FOREIGN_KEY_CHECKS = 1;