diff --git a/doc/OrganizeInternalOA-ConfigTableConfig.md b/doc/OrganizeInternalOA-ConfigTableConfig.md
new file mode 100644
index 0000000..779c61b
--- /dev/null
+++ b/doc/OrganizeInternalOA-ConfigTableConfig.md
@@ -0,0 +1,83 @@
+# OrganizeInternalOA Config表详细内容设计
+
+
Author: 筱锋xiao_lfeng | Version: 1.1.0
+
+## 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`: 填写作者
diff --git a/doc/OrganizeInternalOA-SQL.md b/doc/OrganizeInternalOA-SQL.md
index e9ea7ba..4e80fcc 100644
--- a/doc/OrganizeInternalOA-SQL.md
+++ b/doc/OrganizeInternalOA-SQL.md
@@ -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)**
+
#### 数据表字段属性
| 序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
diff --git a/mysql/organize_oa.sql b/mysql/organize_oa.sql
index e433274..ae6fe50 100644
--- a/mysql/organize_oa.sql
+++ b/mysql/organize_oa.sql
@@ -3,9 +3,9 @@ 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 @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 */;
--
@@ -18,13 +18,16 @@ SET time_zone = "+00:00";
-- 表的结构 `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='配置数据表';
+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 ='配置数据表';
-- --------------------------------------------------------
@@ -32,14 +35,17 @@ CREATE TABLE `oa_config` (
-- 表的结构 `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='权限表';
+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 ='权限表';
-- --------------------------------------------------------
@@ -47,19 +53,43 @@ CREATE TABLE `oa_permissions` (
-- 表的结构 `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='项目内容表';
+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_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`
--
-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='项目类型';
+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 ='用户项目表';
-- --------------------------------------------------------
@@ -80,12 +130,15 @@ CREATE TABLE `oa_project_type` (
-- 表的结构 `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='角色表';
+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 ='角色表';
-- --------------------------------------------------------
@@ -93,11 +146,14 @@ CREATE TABLE `oa_role` (
-- 表的结构 `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='角色权限表';
+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 ='角色权限表';
-- --------------------------------------------------------
@@ -105,12 +161,15 @@ CREATE TABLE `oa_role_permissions` (
-- 表的结构 `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='角色用户表';
+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 ='角色用户表';
-- --------------------------------------------------------
@@ -118,36 +177,31 @@ CREATE TABLE `oa_role_user` (
-- 表的结构 `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`
---
--- 读取表 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
+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 ='用户表';
--
-- 转储表的索引
@@ -174,12 +228,27 @@ 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`
--
@@ -232,12 +301,24 @@ ALTER TABLE `oa_permissions`
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`
--
@@ -258,7 +339,7 @@ ALTER TABLE `oa_user`
-- 限制表 `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`
@@ -266,6 +347,19 @@ ALTER TABLE `oa_permissions`
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`
--
@@ -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;
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 */;
+/*!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 */;