数据库架构
This commit is contained in:
parent
5a000412b7
commit
a0d6a545c1
83
doc/OrganizeInternalOA-ConfigTableConfig.md
Normal file
83
doc/OrganizeInternalOA-ConfigTableConfig.md
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# OrganizeInternalOA Config表详细内容设计
|
||||||
|
|
||||||
|
<div align=right>Author: 筱锋xiao_lfeng | Version: 1.1.0</div>
|
||||||
|
|
||||||
|
## oa_config 数据表
|
||||||
|
|
||||||
|
### 数据表结构
|
||||||
|
|
||||||
|
|
||||||
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
|
| :--: | :----------: | :--------: | :-------------: | :--: | :--: | :---------------: | :---------------: |
|
||||||
|
| 1 | `id` | 主键 | bigint unsigned | PRI | NO | auto_increment | |
|
||||||
|
| 2 | `value` | 调用关键字 | varchar(50) | UNI | NO | | |
|
||||||
|
| 3 | `data` | json数据 | json | | YES | | |
|
||||||
|
| 4 | `created_at` | 创建时间 | timestamp | | NO | DEFAULT_GENERATED | CURRENT_TIMESTAMP |
|
||||||
|
| 5 | `updated_at` | 修改时间 | timestamp | | YES | | |
|
||||||
|
|
||||||
|
|
||||||
|
### 各功能内容解释
|
||||||
|
|
||||||
|
1. `id` : 主键,构建索引所用
|
||||||
|
2. `value` : 构建索引,用于索引字符串内容,方便对 `data` 的获取
|
||||||
|
3. `data` : 输出的 ‘json’ 数据(重要)
|
||||||
|
4. `created_at` : 创建时间
|
||||||
|
5. `updated_at` : 修改时间
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 说明
|
||||||
|
|
||||||
|
> 在这张数据表中,为存储相关配置信息,例如前端需要展示的轮播图、展览业、合作厂商列表、优秀成员列表等等,为了方便开发以及后续维护不需要进行额外进行对表的设计(对于新的一个前端展示功能模块就要新建一张表,显得麻烦),故将所有的内容压缩到这张表,需要展示的内容已结构化 json 数据存储到 `data` 字段。下面是内容举例。
|
||||||
|
|
||||||
|
假设我现在有一个config表
|
||||||
|
id value data
|
||||||
|
|
||||||
|
然后我有两个前端模块要动态(可修改)展示,一个是团队信息展示,另外一个轮播图,那么我新增一行
|
||||||
|
id为主键(不管),团队成员信息定义value:organize_user_info,设计数据结构,最终结构化为json存储到 data
|
||||||
|
轮播图一样,定义value: image_index,设计数据结构存储 data
|
||||||
|
|
||||||
|
一段时间后,有新的业务要展示,例如合作厂家展示
|
||||||
|
|
||||||
|
那就在这张表新建一行数据,定义value:cooperate,然后设计数据结构 存储data
|
||||||
|
|
||||||
|
以后有新的展示业务,以此类推。
|
||||||
|
|
||||||
|
这样取对应地方数据WHERE value后取出data,直接发送前端或定时(解析后给redis)。也不用一个业务新建一张表,也没那么多数据表查找循环。
|
||||||
|
对于数据体量非巨大的应该有一定可行性。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 轮播图数据结构设计
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"order": string,
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"display_order": integer,
|
||||||
|
"image": string,
|
||||||
|
"title": string,
|
||||||
|
"description": string,
|
||||||
|
"is_active": boolean,
|
||||||
|
"created_at": timestamp,
|
||||||
|
"updated_at": timestamp,
|
||||||
|
"author": string
|
||||||
|
},
|
||||||
|
{
|
||||||
|
......
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
1. `order`: 展示顺序,可选值 [asc|desc]
|
||||||
|
2. `data`: 数据内容
|
||||||
|
1. `display_order`: 展示顺序(输入integer,自定义处理)
|
||||||
|
2. `image`: 图片地址
|
||||||
|
3. `title`: 标题
|
||||||
|
4. `description`: 描述
|
||||||
|
5. `is_active`: 是否展示 [true|false]
|
||||||
|
6. `created_at`: 创建时间
|
||||||
|
7. `updated_at`: 修改时间
|
||||||
|
8. `autohr`: 填写作者
|
@ -235,6 +235,8 @@ node6 --|> node4
|
|||||||
|
|
||||||
> 【权限表】所有的权限,具体到每一个功能
|
> 【权限表】所有的权限,具体到每一个功能
|
||||||
|
|
||||||
|
字段 `pid` 外键约束 `id` 模式(CASCADE)更新与删除
|
||||||
|
|
||||||
#### 数据表字段属性
|
#### 数据表字段属性
|
||||||
|
|
||||||
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
@ -254,6 +256,10 @@ node6 --|> node4
|
|||||||
|
|
||||||
> 【用户角色分配表】为用户赋予默认权限属性的内容
|
> 【用户角色分配表】为用户赋予默认权限属性的内容
|
||||||
|
|
||||||
|
字段 `rid` 外键约束 `oa_role.id` 模式(RESTRICT)更新与删除
|
||||||
|
|
||||||
|
字段 `uid` 外键约束 `oa_user.id` 模式(CASCADE)更新与删除
|
||||||
|
|
||||||
#### 数据表字段属性
|
#### 数据表字段属性
|
||||||
|
|
||||||
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
@ -271,6 +277,10 @@ node6 --|> node4
|
|||||||
|
|
||||||
> 【角色权限表】为角色赋予指定权限操作
|
> 【角色权限表】为角色赋予指定权限操作
|
||||||
|
|
||||||
|
字段 `rid` 外键约束 `oa_role.id` 模式(CASCADE)更新与删除
|
||||||
|
|
||||||
|
字段 `pid` 外键约束 `oa_permissions.id` 模式(CASCADE)更新与删除
|
||||||
|
|
||||||
#### 数据表字段属性
|
#### 数据表字段属性
|
||||||
|
|
||||||
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
@ -287,6 +297,8 @@ node6 --|> node4
|
|||||||
|
|
||||||
> 【项目表】用于存放项目相关内容
|
> 【项目表】用于存放项目相关内容
|
||||||
|
|
||||||
|
字段 `type` 外键约束 `oa_project_type.id` 模式(CASCADE)更新,模式(RESTRICT)删除
|
||||||
|
|
||||||
#### 数据表字段属性
|
#### 数据表字段属性
|
||||||
|
|
||||||
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
@ -326,6 +338,10 @@ node6 --|> node4
|
|||||||
|
|
||||||
#### 说明
|
#### 说明
|
||||||
|
|
||||||
|
> 【项目切割表】用于存放项目分割模块后的各模块内容
|
||||||
|
|
||||||
|
字段 `pid` 外键约束 `oa_project.id` 模式(CASCADE)更新与删除
|
||||||
|
|
||||||
#### 数据表字段属性
|
#### 数据表字段属性
|
||||||
|
|
||||||
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
@ -348,6 +364,10 @@ node6 --|> node4
|
|||||||
|
|
||||||
> 【用户项目分配表】用于存放用户所分配到的子项目内容
|
> 【用户项目分配表】用于存放用户所分配到的子项目内容
|
||||||
|
|
||||||
|
字段 `uid` 外键约束 `oa_user.id` 模式(RESTRICT)更新与删除
|
||||||
|
|
||||||
|
字段 `pid` 外键约束 `oa_project_cutting.id` 模式(CASCADE)更新与删除
|
||||||
|
|
||||||
#### 数据表字段属性
|
#### 数据表字段属性
|
||||||
|
|
||||||
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
@ -364,6 +384,10 @@ node6 --|> node4
|
|||||||
|
|
||||||
#### 说明
|
#### 说明
|
||||||
|
|
||||||
|
> 【配置表】用于相关内容的配置
|
||||||
|
|
||||||
|
**请注意,这部分内容需要有额外的定义,具体定义内容请参考 [《config数据配置》](./OrganizeInternalOA-ConfigTableConfig.md)**
|
||||||
|
|
||||||
#### 数据表字段属性
|
#### 数据表字段属性
|
||||||
|
|
||||||
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
|
||||||
|
@ -3,9 +3,9 @@ START TRANSACTION;
|
|||||||
SET time_zone = "+00:00";
|
SET time_zone = "+00:00";
|
||||||
|
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT = @@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS = @@CHARACTER_SET_RESULTS */;
|
||||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
/*!40101 SET @OLD_COLLATION_CONNECTION = @@COLLATION_CONNECTION */;
|
||||||
/*!40101 SET NAMES utf8mb4 */;
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
|
||||||
--
|
--
|
||||||
@ -18,13 +18,16 @@ SET time_zone = "+00:00";
|
|||||||
-- 表的结构 `oa_config`
|
-- 表的结构 `oa_config`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_config` (
|
CREATE TABLE `oa_config`
|
||||||
|
(
|
||||||
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
||||||
`value` varchar(50) NOT NULL COMMENT '调用关键字',
|
`value` varchar(50) NOT NULL COMMENT '调用关键字',
|
||||||
`data` json DEFAULT NULL COMMENT 'json数据',
|
`data` json DEFAULT NULL COMMENT 'json数据',
|
||||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='配置数据表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_0900_ai_ci COMMENT ='配置数据表';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
@ -32,14 +35,17 @@ CREATE TABLE `oa_config` (
|
|||||||
-- 表的结构 `oa_permissions`
|
-- 表的结构 `oa_permissions`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_permissions` (
|
CREATE TABLE `oa_permissions`
|
||||||
|
(
|
||||||
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
||||||
`pid` bigint UNSIGNED DEFAULT NULL COMMENT '权限父id',
|
`pid` bigint UNSIGNED DEFAULT NULL COMMENT '权限父id',
|
||||||
`name` varchar(100) NOT NULL COMMENT '权限名称',
|
`name` varchar(100) NOT NULL COMMENT '权限名称',
|
||||||
`code` varchar(50) NOT NULL COMMENT '权限编码',
|
`code` varchar(50) NOT NULL COMMENT '权限编码',
|
||||||
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0为菜单,1为权限',
|
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0为菜单,1为权限',
|
||||||
`deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间(没有删除应当为空)'
|
`deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间(没有删除应当为空)'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='权限表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_0900_ai_ci COMMENT ='权限表';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
@ -47,7 +53,8 @@ CREATE TABLE `oa_permissions` (
|
|||||||
-- 表的结构 `oa_project`
|
-- 表的结构 `oa_project`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_project` (
|
CREATE TABLE `oa_project`
|
||||||
|
(
|
||||||
`id` bigint UNSIGNED NOT NULL COMMENT '项目id',
|
`id` bigint UNSIGNED NOT NULL COMMENT '项目id',
|
||||||
`name` varchar(255) NOT NULL COMMENT '项目名称',
|
`name` varchar(255) NOT NULL COMMENT '项目名称',
|
||||||
`description` varchar(255) NOT NULL COMMENT '一句话描述',
|
`description` varchar(255) NOT NULL COMMENT '一句话描述',
|
||||||
@ -59,7 +66,30 @@ CREATE TABLE `oa_project` (
|
|||||||
`type` int UNSIGNED NOT NULL COMMENT '类型',
|
`type` int UNSIGNED NOT NULL COMMENT '类型',
|
||||||
`reward` double DEFAULT NULL COMMENT '报酬',
|
`reward` double DEFAULT NULL COMMENT '报酬',
|
||||||
`status` tinyint UNSIGNED NOT NULL DEFAULT '0' COMMENT '状态'
|
`status` tinyint UNSIGNED NOT NULL DEFAULT '0' COMMENT '状态'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 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 ='项目切割';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
@ -67,12 +97,32 @@ CREATE TABLE `oa_project` (
|
|||||||
-- 表的结构 `oa_project_type`
|
-- 表的结构 `oa_project_type`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_project_type` (
|
CREATE TABLE `oa_project_type`
|
||||||
|
(
|
||||||
`id` int UNSIGNED NOT NULL COMMENT '项目类型id',
|
`id` int UNSIGNED NOT NULL COMMENT '项目类型id',
|
||||||
`name` varchar(50) NOT NULL COMMENT '类型名字',
|
`name` varchar(50) NOT NULL COMMENT '类型名字',
|
||||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 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 ='用户项目表';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
@ -80,12 +130,15 @@ CREATE TABLE `oa_project_type` (
|
|||||||
-- 表的结构 `oa_role`
|
-- 表的结构 `oa_role`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_role` (
|
CREATE TABLE `oa_role`
|
||||||
|
(
|
||||||
`id` int UNSIGNED NOT NULL COMMENT '角色id',
|
`id` int UNSIGNED NOT NULL COMMENT '角色id',
|
||||||
`role_name` varchar(20) NOT NULL COMMENT '角色名称',
|
`role_name` varchar(20) NOT NULL COMMENT '角色名称',
|
||||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_0900_ai_ci COMMENT ='角色表';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
@ -93,11 +146,14 @@ CREATE TABLE `oa_role` (
|
|||||||
-- 表的结构 `oa_role_permissions`
|
-- 表的结构 `oa_role_permissions`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_role_permissions` (
|
CREATE TABLE `oa_role_permissions`
|
||||||
|
(
|
||||||
`rid` int UNSIGNED NOT NULL COMMENT '角色id',
|
`rid` int UNSIGNED NOT NULL COMMENT '角色id',
|
||||||
`pid` bigint UNSIGNED NOT NULL COMMENT '权限id',
|
`pid` bigint UNSIGNED NOT NULL COMMENT '权限id',
|
||||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色权限表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_0900_ai_ci COMMENT ='角色权限表';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
@ -105,12 +161,15 @@ CREATE TABLE `oa_role_permissions` (
|
|||||||
-- 表的结构 `oa_role_user`
|
-- 表的结构 `oa_role_user`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_role_user` (
|
CREATE TABLE `oa_role_user`
|
||||||
|
(
|
||||||
`uid` bigint UNSIGNED NOT NULL COMMENT '用户id',
|
`uid` bigint UNSIGNED NOT NULL COMMENT '用户id',
|
||||||
`rid` int UNSIGNED NOT NULL COMMENT '角色id',
|
`rid` int UNSIGNED NOT NULL COMMENT '角色id',
|
||||||
`createdt_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`createdt_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
`updated_at` timestamp NULL DEFAULT NULL COMMENT '修改时间'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色用户表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_0900_ai_ci COMMENT ='角色用户表';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
@ -118,7 +177,8 @@ CREATE TABLE `oa_role_user` (
|
|||||||
-- 表的结构 `oa_user`
|
-- 表的结构 `oa_user`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE `oa_user` (
|
CREATE TABLE `oa_user`
|
||||||
|
(
|
||||||
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
|
||||||
`job_id` char(10) NOT NULL COMMENT '工作ID:正则表达 "^[STU|TEA|OTH][0-9]{7}"',
|
`job_id` char(10) NOT NULL COMMENT '工作ID:正则表达 "^[STU|TEA|OTH][0-9]{7}"',
|
||||||
`username` varchar(40) NOT NULL COMMENT '用户名',
|
`username` varchar(40) NOT NULL COMMENT '用户名',
|
||||||
@ -139,15 +199,9 @@ CREATE TABLE `oa_user` (
|
|||||||
`description` text COMMENT '个人简介',
|
`description` text COMMENT '个人简介',
|
||||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间'
|
`updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
-- --------------------------------------------------------
|
COLLATE = utf8mb4_0900_ai_ci COMMENT ='用户表';
|
||||||
|
|
||||||
--
|
|
||||||
-- 表的结构 `oa_user_project`
|
|
||||||
--
|
|
||||||
-- 读取表 organize_oa.oa_user_project 的结构时出错: #1146 - Table 'organize_oa.oa_user_project' doesn't exist
|
|
||||||
-- 读取表 organize_oa.oa_user_project 的数据时发生错误: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `organize_oa`.`oa_user_project`' at line 1
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- 转储表的索引
|
-- 转储表的索引
|
||||||
@ -174,12 +228,27 @@ ALTER TABLE `oa_project`
|
|||||||
ADD PRIMARY KEY (`id`),
|
ADD PRIMARY KEY (`id`),
|
||||||
ADD KEY `oa_project_oa_project_type_id_fk` (`type`);
|
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`
|
-- 表的索引 `oa_project_type`
|
||||||
--
|
--
|
||||||
ALTER TABLE `oa_project_type`
|
ALTER TABLE `oa_project_type`
|
||||||
ADD PRIMARY KEY (`id`);
|
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`
|
-- 表的索引 `oa_role`
|
||||||
--
|
--
|
||||||
@ -232,12 +301,24 @@ ALTER TABLE `oa_permissions`
|
|||||||
ALTER TABLE `oa_project`
|
ALTER TABLE `oa_project`
|
||||||
MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '项目id';
|
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`
|
-- 使用表AUTO_INCREMENT `oa_project_type`
|
||||||
--
|
--
|
||||||
ALTER TABLE `oa_project_type`
|
ALTER TABLE `oa_project_type`
|
||||||
MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '项目类型id';
|
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`
|
-- 使用表AUTO_INCREMENT `oa_role`
|
||||||
--
|
--
|
||||||
@ -258,7 +339,7 @@ ALTER TABLE `oa_user`
|
|||||||
-- 限制表 `oa_permissions`
|
-- 限制表 `oa_permissions`
|
||||||
--
|
--
|
||||||
ALTER TABLE `oa_permissions`
|
ALTER TABLE `oa_permissions`
|
||||||
ADD CONSTRAINT `oa_permissions_oa_permissions_id_fk` FOREIGN KEY (`pid`) REFERENCES `oa_permissions` (`id`);
|
ADD CONSTRAINT `oa_permissions_oa_permissions_id_fk` FOREIGN KEY (`pid`) REFERENCES `oa_permissions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- 限制表 `oa_project`
|
-- 限制表 `oa_project`
|
||||||
@ -266,6 +347,19 @@ ALTER TABLE `oa_permissions`
|
|||||||
ALTER TABLE `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;
|
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`
|
-- 限制表 `oa_role_permissions`
|
||||||
--
|
--
|
||||||
@ -281,6 +375,6 @@ ALTER TABLE `oa_role_user`
|
|||||||
ADD CONSTRAINT `oa_role_user_oa_user_id_fk` FOREIGN KEY (`uid`) REFERENCES `oa_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
ADD CONSTRAINT `oa_role_user_oa_user_id_fk` FOREIGN KEY (`uid`) REFERENCES `oa_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
/*!40101 SET CHARACTER_SET_CLIENT = @OLD_CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
/*!40101 SET CHARACTER_SET_RESULTS = @OLD_CHARACTER_SET_RESULTS */;
|
||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION = @OLD_COLLATION_CONNECTION */;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user