You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OneAuth/oab/migrations/20220720220617_base.sql

151 lines
5.1 KiB
MySQL

2 years ago
/*
* table.sql
* Copyright (C) 2022 veypi <i@veypi.com>
*
* Distributed under terms of the Apache license.
*/
CREATE TABLE IF NOT EXISTS `user`
(
`id` varchar(32) NOT NULL DEFAULT '' COMMENT 'User UUID',
1 year ago
`created` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
2 years ago
`username` varchar(255) NOT NULL UNIQUE,
`nickname` varchar(255),
`email` varchar(255) UNIQUE,
`phone` varchar(255) UNIQUE,
`icon` varchar(255),
`_real_code` varchar(32),
`_check_code` binary(48),
2 years ago
`status` int NOT NULL COMMENT '状态0ok1disabled' DEFAULT 0,
2 years ago
`used` int NOT NULL DEFAULT 0,
`space` int NOT NULL DEFAULT 300,
2 years ago
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `app`
(
`id` varchar(32) NOT NULL,
1 year ago
`created` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
2 years ago
`_key` varchar(32) NOT NULL,
2 years ago
`name` varchar(255) NOT NULL,
`icon` varchar(255),
`des` MEDIUMTEXT,
2 years ago
`user_count` int NOT NULL DEFAULT 0,
`hide` tinyint(1) NOT NULL DEFAULT 0,
2 years ago
`join_method` int NOT NULL DEFAULT 0,
2 years ago
`role_id` varchar(32),
`redirect` varchar(255),
`status` int NOT NULL COMMENT '状态0ok1disabled' DEFAULT 0,
2 years ago
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `app_user`
(
1 year ago
`created` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
2 years ago
`app_id` varchar(32) NOT NULL,
`user_id` varchar(32) NOT NULL,
`status` int NOT NULL DEFAULT 0 COMMENT '0: ok,1:disabled,2:applying,3:deny',
2 years ago
PRIMARY KEY (`user_id`,`app_id`) USING BTREE,
FOREIGN KEY (`app_id`) REFERENCES `app`(`id`),
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='app_to_user';
CREATE TABLE IF NOT EXISTS `role`
(
`id` varchar(32) NOT NULL,
1 year ago
`created` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
2 years ago
`app_id` varchar(32) NOT NULL,
`name` varchar(255) NOT NULL,
`des` varchar(255),
`user_count` int NOT NULL DEFAULT 0,
2 years ago
PRIMARY KEY (`id`) USING BTREE,
FOREIGN KEY (`app_id`) REFERENCES `app`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `user_role`
(
1 year ago
`created` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
2 years ago
`user_id` varchar(32) NOT NULL,
`role_id` varchar(32) NOT NULL,
`status` varchar(32) NOT NULL DEFAULT 0,
2 years ago
PRIMARY KEY (`user_id`,`role_id`) USING BTREE,
FOREIGN KEY (`role_id`) REFERENCES `role`(`id`),
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `resource`
(
1 year ago
`created` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
2 years ago
`app_id` varchar(32) NOT NULL,
`name` varchar(32) NOT NULL,
`des` varchar(255),
PRIMARY KEY (`app_id`,`name`) USING BTREE,
FOREIGN KEY (`app_id`) REFERENCES `app`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `access`
(
`id` int NOT NULL AUTO_INCREMENT,
1 year ago
`created` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
2 years ago
`app_id` varchar(32) NOT NULL,
`name` varchar(32) NOT NULL,
`role_id` varchar(32) NULL DEFAULT NULL,
`user_id` varchar(32) NULL DEFAULT NULL,
`rid` varchar(32) DEFAULT NULL COMMENT '资源子id',
`level` int NOT NULL DEFAULT 0,
2 years ago
-- PRIMARY KEY (`app_id`,`name`, `role_id`, `user_id`) USING BTREE,
PRIMARY KEY (`id`),
2 years ago
FOREIGN KEY (`role_id`) REFERENCES `role`(`id`),
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`),
FOREIGN KEY (`app_id`,`name`) REFERENCES `resource`(`app_id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `app` (`id`, `name`, `_key`, `role_id`)
2 years ago
VALUES ('FR9P5t8debxc11aFF', 'oa', 'AMpjwQHwVjGsb1WC4WG6', '1lytMwQL4uiNd0vsc');
INSERT INTO `resource` (`app_id`, `name`)
2 years ago
VALUES ('FR9P5t8debxc11aFF', 'app'),
('FR9P5t8debxc11aFF', 'user');
2 years ago
INSERT INTO `role` (`id`, `app_id`, `name`)
VALUES ('1lytMwQL4uiNd0vsc', 'FR9P5t8debxc11aFF', 'admin');
2 years ago
INSERT INTO `access` (`app_id`, `name`, `role_id`, `user_id`,`level`)
VALUES ('FR9P5t8debxc11aFF', 'app', '1lytMwQL4uiNd0vsc', NULL,5),
('FR9P5t8debxc11aFF', 'user', '1lytMwQL4uiNd0vsc', NULL,5);
2 years ago
2 years ago
ALTER TABLE `app`
ADD FOREIGN KEY (`role_id`) REFERENCES `role`(`id`);