199 lines
5.9 KiB
SQL
199 lines
5.9 KiB
SQL
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;
|
|
|