MySQL 数据表结构文档
1. 全局角色表(global_roles)
表基本信息
| 属性 | 说明 |
|---|---|
| 表名 | global_roles |
| 存储引擎 | InnoDB |
| 字符集 | utf8mb4 |
字段详情
| 字段名 | 数据类型 | 约束条件 | 说明 |
|---|---|---|---|
| id | INT | PRIMARY KEY、AUTO_INCREMENT | 主键,自增ID |
| role_name | VARCHAR(50) | UNIQUE、NOT NULL | 角色名称,唯一且非空 |
| description | TEXT | 无 | 角色描述信息 |
备注
AUTO_INCREMENT表示id字段会自动增长,无需手动插入值。UNIQUE约束确保role_name字段的值在表中唯一,避免重复的角色名称。utf8mb4字符集支持包括 emoji 在内的所有 Unicode 字符,适用于多语言场景。
2. 用户表(users)
表基本信息
| 属性 | 说明 |
|---|---|
| 表名 | users |
| 存储引擎 | InnoDB |
| 字符集 | utf8mb4 |
字段详情
| 字段名 | 数据类型 | 约束条件 | 说明 |
|---|---|---|---|
| id | INT | PRIMARY KEY、AUTO_INCREMENT | 主键,自增ID |
| username | VARCHAR(50) | UNIQUE、NOT NULL | 登录用户名 |
| password_hash | VARCHAR(255) | NOT NULL | 加密密码 |
| feishu_user_name | VARCHAR(255) | UNIQUE | 飞书用户名 |
| role_name | VARCHAR(50) | NOT NULL | 全局角色身份 |
| open_id | VARCHAR(255) | NULL | 飞书平台唯一标识 |
| created_at | int(11) | NULL DEFAULT NULL | 创建时间戳 |
| updated_at | int(11) | NULL DEFAULT NULL | 更新时间戳 |
3. 应用表(app)
表基本信息
| 属性 | 说明 |
|---|---|
| 表名 | app |
| 存储引擎 | InnoDB |
| 字符集 | utf8mb4 |
字段详情
| 字段名 | 数据类型 | 约束条件 | 说明 |
|---|---|---|---|
| id | INT | PRIMARY KEY、AUTO_INCREMENT | 主键,自增ID |
| name | VARCHAR(100) | NOT NULL | 应用名称 |
| description | TEXT | NULL | 应用描述 |
| feishu_error_group | VARCHAR(100) | NULL | 飞书报错群ID或名称 |
| created_at | int(11) | NULL DEFAULT NULL | 创建时间戳 |
| updated_at | int(11) | NULL DEFAULT NULL | 更新时间戳 |
| creator_id | INT | NULL | 创建者用户ID(关联users表) |
约束与索引
- 唯一索引:
uk_app_name (name)(确保应用名称唯一) - 外键约束:
fk_app_creator- 关联字段:
creator_id关联users(id) - 级联规则:
ON DELETE SET NULL(用户记录删除时,creator_id设为NULL)
- 关联字段:
4. 应用角色表(app_roles)
表基本信 息
| 属性 | 说明 |
|---|---|
| 表名 | app_roles |
| 存储引擎 | InnoDB |
| 字符集 | utf8mb4 |
字段详情
| 字段名 | 数据类型 | 约束条件 | 说明 |
|---|---|---|---|
| id | INT | PRIMARY KEY、AUTO_INCREMENT | 主键,自增ID |
| app_id | INT | NOT NULL | 应用ID(关联app表) |
| role_name | VARCHAR(50) | NOT NULL | 角色名称 |
| is_admin | TINYINT(1) | DEFAULT 0 | 1=应用内管理员,0=普通成员 |
约束与索引
- 唯一索引:
uk_app_role (app_id, role_name)(确保同一应用内角色名称唯一) - 外键约束:
- 关联字段:
app_id关联app(id) - 级联规则:
ON DELETE CASCADE(应用记录删除时,关联的角色记录同步删除)
- 关联字段:
5. 用户应用角色关联表(user_app_roles)
表基本信息
| 属性 | 说明 |
|---|---|
| 表名 | user_app_roles |
| 存储引擎 | InnoDB |
| 字符集 | utf8mb4 |
字段详情
| 字段名 | 数据类型 | 约束条件 | 说明 |
|---|---|---|---|
| user_id | INT | NOT NULL | 用户ID(关联users表) |
| app_id | INT | NOT NULL | 应用ID(关联app表) |
| role_id | INT | NOT NULL | 应用内角色ID(关联app_roles表) |
| granted_by | VARCHAR(255) | NULL | 授权人账号(关联users表) |
| granted_at | int(11) | NULL DEFAULT NULL | 授权时间戳 |
约束与索引
- 主键:
PRIMARY KEY (user_id, app_id)(用户与应用的唯一关联) - 外键约束:
user_id关联users(id),级联规则:ON DELETE CASCADEapp_id关联app(id),级联规则:ON DELETE CASCADErole_id关联app_roles(id),级联规则:ON DELETE CASCADEgranted_by关联users(username),级联规则 :ON DELETE SET NULL
6. 应用关键词表(keywords)
表基本信息
| 属性 | 说明 |
|---|---|
| 表名 | keywords |
| 存储引擎 | InnoDB |
| 字符集 | utf8mb4 |
| 表注释 | 应用关键词表 |
字段详情
| 字段名 | 数据类型 | 约束条件 | 说明 |
|---|---|---|---|
| id | int(11) | PRIMARY KEY、AUTO_INCREMENT | 主键ID |
| app_name | varchar(100) | NOT NULL | 应用名称 |
| key_name | varchar(255) | NOT NULL | 关键词 |
| created_at | int(11) | NOT NULL | 创建时间 |
约束与索引
- 唯一索引:
uk_app_key (app_name, key_name)(应用+关键词唯一索引) - 普通索引:
idx_app_name (app_name)(应用名称索引,加速查询)