跳到主要内容

MySQL 数据表结构文档

1. 全局角色表(global_roles)

表基本信息

属性说明
表名global_roles
存储引擎InnoDB
字符集utf8mb4

字段详情

字段名数据类型约束条件说明
idINTPRIMARY KEY、AUTO_INCREMENT主键,自增ID
role_nameVARCHAR(50)UNIQUE、NOT NULL角色名称,唯一且非空
descriptionTEXT角色描述信息

备注

  • AUTO_INCREMENT 表示 id 字段会自动增长,无需手动插入值。
  • UNIQUE 约束确保 role_name 字段的值在表中唯一,避免重复的角色名称。
  • utf8mb4 字符集支持包括 emoji 在内的所有 Unicode 字符,适用于多语言场景。

2. 用户表(users)

表基本信息

属性说明
表名users
存储引擎InnoDB
字符集utf8mb4

字段详情

字段名数据类型约束条件说明
idINTPRIMARY KEY、AUTO_INCREMENT主键,自增ID
usernameVARCHAR(50)UNIQUE、NOT NULL登录用户名
password_hashVARCHAR(255)NOT NULL加密密码
feishu_user_nameVARCHAR(255)UNIQUE飞书用户名
role_nameVARCHAR(50)NOT NULL全局角色身份
open_idVARCHAR(255)NULL飞书平台唯一标识
created_atint(11)NULL DEFAULT NULL创建时间戳
updated_atint(11)NULL DEFAULT NULL更新时间戳

3. 应用表(app)

表基本信息

属性说明
表名app
存储引擎InnoDB
字符集utf8mb4

字段详情

字段名数据类型约束条件说明
idINTPRIMARY KEY、AUTO_INCREMENT主键,自增ID
nameVARCHAR(100)NOT NULL应用名称
descriptionTEXTNULL应用描述
feishu_error_groupVARCHAR(100)NULL飞书报错群ID或名称
created_atint(11)NULL DEFAULT NULL创建时间戳
updated_atint(11)NULL DEFAULT NULL更新时间戳
creator_idINTNULL创建者用户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

字段详情

字段名数据类型约束条件说明
idINTPRIMARY KEY、AUTO_INCREMENT主键,自增ID
app_idINTNOT NULL应用ID(关联app表)
role_nameVARCHAR(50)NOT NULL角色名称
is_adminTINYINT(1)DEFAULT 01=应用内管理员,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_idINTNOT NULL用户ID(关联users表)
app_idINTNOT NULL应用ID(关联app表)
role_idINTNOT NULL应用内角色ID(关联app_roles表)
granted_byVARCHAR(255)NULL授权人账号(关联users表)
granted_atint(11)NULL DEFAULT NULL授权时间戳

约束与索引

  • 主键:PRIMARY KEY (user_id, app_id)(用户与应用的唯一关联)
  • 外键约束:
    • user_id 关联 users(id),级联规则:ON DELETE CASCADE
    • app_id 关联 app(id),级联规则:ON DELETE CASCADE
    • role_id 关联 app_roles(id),级联规则:ON DELETE CASCADE
    • granted_by 关联 users(username),级联规则:ON DELETE SET NULL

6. 应用关键词表(keywords)

表基本信息

属性说明
表名keywords
存储引擎InnoDB
字符集utf8mb4
表注释应用关键词表

字段详情

字段名数据类型约束条件说明
idint(11)PRIMARY KEY、AUTO_INCREMENT主键ID
app_namevarchar(100)NOT NULL应用名称
key_namevarchar(255)NOT NULL关键词
created_atint(11)NOT NULL创建时间

约束与索引

  • 唯一索引:uk_app_key (app_name, key_name)(应用+关键词唯一索引)
  • 普通索引:idx_app_name (app_name)(应用名称索引,加速查询)

7. 应用关键词屏蔽表(blocked_keywords)

表基本信息

属性说明
表名blocked_keywords
存储引擎InnoDB
字符集utf8mb4
表注释屏蔽关键词表

字段详情

字段名数据类型约束条件说明
idint(11)PRIMARY KEY、AUTO_INCREMENT主键ID
app_namevarchar(100)NOT NULL应用名称
key_namevarchar(255)NOT NULL关键词
reasonvarchar(500)DEFAULT NULL屏蔽原因
endint(11)DEFAULT NULL屏蔽结束时间(NULL表示永久屏蔽)
redminevarchar(100)DEFAULT NULL关联的Redmine问题编号

索引

  • 普通索引:idx_app_name (app_name)(应用名称索引)
  • 普通索引:idx_end_time (end)(屏蔽结束时间索引)

8. 屏蔽关键词表(mask)

表基本信息

属性说明
表名mask
存储引擎InnoDB
字符集utf8mb4

字段详情

字段名数据类型约束条件说明
idint(11)PRIMARY KEY、AUTO_INCREMENT主键ID
fp_idvarchar(255)DEFAULT NULLFP标识
endint(11)NULL DEFAULT NULL结束时间戳
reasonvarchar(1000)DEFAULT NULL屏蔽原因
redminevarchar(256)DEFAULT NULL关联的Redmine问题编号
app_idvarchar(256)DEFAULT NULL应用ID

索引

  • 普通索引:idx_fp_id (fp_id)
  • 普通索引:idx_app_id (app_id)
  • 普通索引:idx_redmine (redmine(20))(对redmine字段前20字符建立索引)

9. 应用绑定飞书账号表(app_feishu_user)

表基本信息

属性说明
表名app_feishu_user
存储引擎InnoDB
字符集utf8mb4
表注释应用关联的飞书用户表

字段详情

字段名数据类型约束条件说明
idintPRIMARY KEY、AUTO_INCREMENT记录ID
app_idintNOT NULL关联的应用ID(关联app表)
feishu_usernamevarchar(100)NOT NULL飞书用户名
open_idvarchar(128)DEFAULT NULL飞书用户open_id

约束与索引

  • 外键约束:fk_app_feishu_user_app_id
    • 关联字段:app_id 关联 app(id)
    • 级联规则:ON DELETE CASCADE
  • 唯一索引:uk_app_id_username (app_id, feishu_username)(确保同一应用下用户名不重复)
  • 外键索引:fk_app_feishu_user_app_id (app_id)(加速查询)