JSL_OrganizeInternalOA/mysql/organize_oa.sql

381 lines
13 KiB
MySQL
Raw Normal View History

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 */;