JSL_OrganizeInternalOA/mysql/organize_oa.sql

312 lines
12 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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` double DEFAULT NULL COMMENT '报酬',
`status` tinyint UNSIGNED NOT NULL DEFAULT '0' 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_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 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_user_project`
--
CREATE TABLE `oa_user_project` (
`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_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_type`
--
ALTER TABLE `oa_project_type`
ADD PRIMARY KEY (`id`);
--
-- 表的索引 `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`);
--
-- 表的索引 `oa_user_project`
--
ALTER TABLE `oa_user_project`
ADD PRIMARY KEY (`id`),
ADD KEY `oa_user_project_oa_user_id_fk` (`uid`);
--
-- 在导出的表使用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_type`
--
ALTER TABLE `oa_project_type`
MODIFY `id` int 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 '主键';
--
-- 使用表AUTO_INCREMENT `oa_user_project`
--
ALTER TABLE `oa_user_project`
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id';
--
-- 限制导出的表
--
--
-- 限制表 `oa_permissions`
--
ALTER TABLE `oa_permissions`
ADD CONSTRAINT `oa_permissions_oa_permissions_id_fk` FOREIGN KEY (`pid`) REFERENCES `oa_permissions` (`id`);
--
-- 限制表 `oa_project`
--
ALTER TABLE `oa_project`
ADD CONSTRAINT `oa_project_oa_project_type_id_fk` FOREIGN KEY (`type`) REFERENCES `oa_project_type` (`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,
ADD CONSTRAINT `oa_role_permissions_oa_role_id_fk` FOREIGN KEY (`rid`) REFERENCES `oa_role` (`id`) ON DELETE 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;
--
-- 限制表 `oa_user_project`
--
ALTER TABLE `oa_user_project`
ADD CONSTRAINT `oa_user_project_oa_user_id_fk` FOREIGN KEY (`uid`) REFERENCES `oa_user` (`id`);
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 */;