Add RBAC tables
This commit is contained in:
@ -84,4 +84,113 @@ CREATE TABLE `user` (
|
||||
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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user