381 lines
13 KiB
SQL
Executable File
381 lines
13 KiB
SQL
Executable File
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 */;
|
||
|
||
--
|
||
-- 数据库: `organize_oa`
|
||
--
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_config`
|
||
--
|
||
|
||
CREATE TABLE `oa_config`
|
||
(
|
||
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
||
`value` varchar(50) NOT NULL COMMENT '调用关键字',
|
||
`data` json DEFAULT NULL COMMENT 'json数据',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='配置数据表';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_permissions`
|
||
--
|
||
|
||
CREATE TABLE `oa_permissions`
|
||
(
|
||
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
||
`pid` bigint UNSIGNED DEFAULT NULL COMMENT '权限父id',
|
||
`name` varchar(100) NOT NULL COMMENT '权限名称',
|
||
`code` varchar(50) NOT NULL COMMENT '权限编码',
|
||
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0为菜单,1为权限',
|
||
`deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间(没有删除应当为空)'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='权限表';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_project`
|
||
--
|
||
|
||
CREATE TABLE `oa_project`
|
||
(
|
||
`id` bigint UNSIGNED NOT NULL COMMENT '项目id',
|
||
`name` varchar(255) NOT NULL COMMENT '项目名称',
|
||
`description` varchar(255) NOT NULL COMMENT '一句话描述',
|
||
`introduction` text NOT NULL COMMENT '项目详细介绍',
|
||
`code_open` tinyint(1) NOT NULL DEFAULT '0' COMMENT '代码是否开放',
|
||
`core_code` text COMMENT '核心代码内容(Markdown)',
|
||
`git` json DEFAULT NULL COMMENT 'git代码仓库内容',
|
||
`difficulty_level` tinyint UNSIGNED NOT NULL DEFAULT '1' COMMENT '难度等级',
|
||
`type` int UNSIGNED NOT NULL COMMENT '类型',
|
||
`reward` bigint UNSIGNED DEFAULT NULL COMMENT '报酬',
|
||
`status` tinyint UNSIGNED NOT NULL DEFAULT '0' COMMENT '状态'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='项目内容表';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_project_cutting`
|
||
--
|
||
|
||
CREATE TABLE `oa_project_cutting`
|
||
(
|
||
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
||
`pid` bigint UNSIGNED NOT NULL COMMENT '项目id',
|
||
`name` varchar(40) NOT NULL COMMENT '项目分割模块名字',
|
||
`tag` json DEFAULT NULL COMMENT '模块标签',
|
||
`engineering` tinyint UNSIGNED NOT NULL DEFAULT '1' COMMENT '工程量计算',
|
||
`estimated_time` int UNSIGNED NOT NULL DEFAULT '3' COMMENT '预估时间(小时)',
|
||
`real_time` timestamp NULL DEFAULT NULL COMMENT '实际时间',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='项目切割';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_project_type`
|
||
--
|
||
|
||
CREATE TABLE `oa_project_type`
|
||
(
|
||
`id` int UNSIGNED NOT NULL COMMENT '项目类型id',
|
||
`name` varchar(50) NOT NULL COMMENT '类型名字',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='项目类型';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_project_user`
|
||
--
|
||
|
||
CREATE TABLE `oa_project_user`
|
||
(
|
||
`id` bigint UNSIGNED NOT NULL COMMENT '主键id',
|
||
`uid` bigint UNSIGNED NOT NULL COMMENT '用户id',
|
||
`pid` bigint UNSIGNED NOT NULL COMMENT '接到分割项目内容',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='用户项目表';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_role`
|
||
--
|
||
|
||
CREATE TABLE `oa_role`
|
||
(
|
||
`id` int UNSIGNED NOT NULL COMMENT '角色id',
|
||
`role_name` varchar(20) NOT NULL COMMENT '角色名称',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='角色表';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_role_permissions`
|
||
--
|
||
|
||
CREATE TABLE `oa_role_permissions`
|
||
(
|
||
`rid` int UNSIGNED NOT NULL COMMENT '角色id',
|
||
`pid` bigint UNSIGNED NOT NULL COMMENT '权限id',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='角色权限表';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_role_user`
|
||
--
|
||
|
||
CREATE TABLE `oa_role_user`
|
||
(
|
||
`uid` bigint UNSIGNED NOT NULL COMMENT '用户id',
|
||
`rid` int UNSIGNED NOT NULL COMMENT '角色id',
|
||
`createdt_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='角色用户表';
|
||
|
||
-- --------------------------------------------------------
|
||
|
||
--
|
||
-- 表的结构 `oa_user`
|
||
--
|
||
|
||
CREATE TABLE `oa_user`
|
||
(
|
||
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
||
`job_id` char(10) NOT NULL COMMENT '工作ID:正则表达 "^[STU|TEA|OTH][0-9]{7}"',
|
||
`username` varchar(40) NOT NULL COMMENT '用户名',
|
||
`password` varchar(255) NOT NULL COMMENT '密码',
|
||
`address` varchar(255) NOT NULL COMMENT '用户家庭地址',
|
||
`phone` varchar(11) NOT NULL COMMENT '电话',
|
||
`email` varchar(100) NOT NULL COMMENT '邮箱',
|
||
`age` tinyint UNSIGNED NOT NULL COMMENT '年龄',
|
||
`signature` varchar(50) DEFAULT NULL COMMENT '一句话描述自己',
|
||
`sex` tinyint UNSIGNED NOT NULL DEFAULT '0' COMMENT '0/1/2:保密/男/女',
|
||
`avatar` text COMMENT '头像地址',
|
||
`nickname` varchar(20) DEFAULT NULL COMMENT '昵称',
|
||
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '账户是否可用',
|
||
`account_no_expired` tinyint(1) NOT NULL DEFAULT '1' COMMENT '账户是否过期',
|
||
`credentials_no_expired` tinyint(1) NOT NULL DEFAULT '0' COMMENT '密码是否过期',
|
||
`recommend` tinyint(1) NOT NULL DEFAULT '0' COMMENT '账户是否被推荐',
|
||
`account_no_locked` tinyint(1) NOT NULL DEFAULT '1' COMMENT '账户是否被锁定',
|
||
`description` text COMMENT '个人简介',
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间'
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci COMMENT ='用户表';
|
||
|
||
--
|
||
-- 转储表的索引
|
||
--
|
||
|
||
--
|
||
-- 表的索引 `oa_config`
|
||
--
|
||
ALTER TABLE `oa_config`
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD UNIQUE KEY `oa_config_value_uindex` (`value`);
|
||
|
||
--
|
||
-- 表的索引 `oa_permissions`
|
||
--
|
||
ALTER TABLE `oa_permissions`
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD KEY `oa_permissions_oa_permissions_id_fk` (`pid`);
|
||
|
||
--
|
||
-- 表的索引 `oa_project`
|
||
--
|
||
ALTER TABLE `oa_project`
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD KEY `oa_project_oa_project_type_id_fk` (`type`);
|
||
|
||
--
|
||
-- 表的索引 `oa_project_cutting`
|
||
--
|
||
ALTER TABLE `oa_project_cutting`
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD KEY `oa_project_cutting_oa_project_id_fk` (`pid`);
|
||
|
||
--
|
||
-- 表的索引 `oa_project_type`
|
||
--
|
||
ALTER TABLE `oa_project_type`
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
--
|
||
-- 表的索引 `oa_project_user`
|
||
--
|
||
ALTER TABLE `oa_project_user`
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD KEY `oa_project_user_oa_project_cutting_id_fk` (`pid`),
|
||
ADD KEY `oa_user_project_oa_user_id_fk` (`uid`);
|
||
|
||
--
|
||
-- 表的索引 `oa_role`
|
||
--
|
||
ALTER TABLE `oa_role`
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
--
|
||
-- 表的索引 `oa_role_permissions`
|
||
--
|
||
ALTER TABLE `oa_role_permissions`
|
||
ADD PRIMARY KEY (`rid`),
|
||
ADD KEY `oa_role_permissions_oa_permissions_id_fk` (`pid`);
|
||
|
||
--
|
||
-- 表的索引 `oa_role_user`
|
||
--
|
||
ALTER TABLE `oa_role_user`
|
||
ADD PRIMARY KEY (`uid`),
|
||
ADD KEY `oa_role_user_oa_role_id_fk` (`rid`);
|
||
|
||
--
|
||
-- 表的索引 `oa_user`
|
||
--
|
||
ALTER TABLE `oa_user`
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD UNIQUE KEY `oa_user_job_id_uindex` (`job_id`),
|
||
ADD UNIQUE KEY `oa_user_email_uindex` (`email`),
|
||
ADD UNIQUE KEY `oa_user_phone_uindex` (`phone`),
|
||
ADD UNIQUE KEY `oa_user_username_uindex` (`username`);
|
||
|
||
--
|
||
-- 在导出的表使用AUTO_INCREMENT
|
||
--
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_config`
|
||
--
|
||
ALTER TABLE `oa_config`
|
||
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键';
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_permissions`
|
||
--
|
||
ALTER TABLE `oa_permissions`
|
||
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键';
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_project`
|
||
--
|
||
ALTER TABLE `oa_project`
|
||
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '项目id';
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_project_cutting`
|
||
--
|
||
ALTER TABLE `oa_project_cutting`
|
||
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键';
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_project_type`
|
||
--
|
||
ALTER TABLE `oa_project_type`
|
||
MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '项目类型id';
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_project_user`
|
||
--
|
||
ALTER TABLE `oa_project_user`
|
||
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id';
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_role`
|
||
--
|
||
ALTER TABLE `oa_role`
|
||
MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '角色id';
|
||
|
||
--
|
||
-- 使用表AUTO_INCREMENT `oa_user`
|
||
--
|
||
ALTER TABLE `oa_user`
|
||
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键';
|
||
|
||
--
|
||
-- 限制导出的表
|
||
--
|
||
|
||
--
|
||
-- 限制表 `oa_permissions`
|
||
--
|
||
ALTER TABLE `oa_permissions`
|
||
ADD CONSTRAINT `oa_permissions_oa_permissions_id_fk` FOREIGN KEY (`pid`) REFERENCES `oa_permissions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
||
--
|
||
-- 限制表 `oa_project`
|
||
--
|
||
ALTER TABLE `oa_project`
|
||
ADD CONSTRAINT `oa_project_oa_project_type_id_fk` FOREIGN KEY (`type`) REFERENCES `oa_project_type` (`id`) ON UPDATE CASCADE;
|
||
|
||
--
|
||
-- 限制表 `oa_project_cutting`
|
||
--
|
||
ALTER TABLE `oa_project_cutting`
|
||
ADD CONSTRAINT `oa_project_cutting_oa_project_id_fk` FOREIGN KEY (`pid`) REFERENCES `oa_project` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
||
--
|
||
-- 限制表 `oa_project_user`
|
||
--
|
||
ALTER TABLE `oa_project_user`
|
||
ADD CONSTRAINT `oa_project_user_oa_project_cutting_id_fk` FOREIGN KEY (`pid`) REFERENCES `oa_project_cutting` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||
ADD CONSTRAINT `oa_user_project_oa_user_id_fk` FOREIGN KEY (`uid`) REFERENCES `oa_user` (`id`);
|
||
|
||
--
|
||
-- 限制表 `oa_role_permissions`
|
||
--
|
||
ALTER TABLE `oa_role_permissions`
|
||
ADD CONSTRAINT `oa_role_permissions_oa_permissions_id_fk` FOREIGN KEY (`pid`) REFERENCES `oa_permissions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||
ADD CONSTRAINT `oa_role_permissions_oa_role_id_fk` FOREIGN KEY (`rid`) REFERENCES `oa_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
||
--
|
||
-- 限制表 `oa_role_user`
|
||
--
|
||
ALTER TABLE `oa_role_user`
|
||
ADD CONSTRAINT `oa_role_user_oa_role_id_fk` FOREIGN KEY (`rid`) REFERENCES `oa_role` (`id`),
|
||
ADD CONSTRAINT `oa_role_user_oa_user_id_fk` FOREIGN KEY (`uid`) REFERENCES `oa_user` (`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 */;
|