DATA FOUNDATION

30 张表,一套数据库。

webman API、layuiAdmin SPA、插件系统全部共享同一份数据库设计——外键一律 _id、软删全表 deleted_at、append-only 日志不可篡改。

5大类分组
30共享表
26Model
3append-only
01 / OVERVIEW

五大分类,一目了然。

30 张表按职责分入 5 大类,分工清晰,边界明确。

5

账号与权限

account 合并
accountaccount_pluginaccount_extendaccount_extend_fieldaccount_extend_option
2

RBAC

role_id 驱动
rolemenu
5

安全

多层防护
login_loglogin_locklogin_lock_globalsecurity_rulerequest_limit
5

接口治理

审计+脱敏
operation_logdelete_logtrashrequest_keyrequest_log
5

系统支撑

配置+字典
system_configdict_groupdict_itemtag_dicttag_rel
02 / ACCOUNTS & AUTH

account = 唯一登录主体。

admin + user 已合并为统一 account 表,role_id 驱动 RBAC,account_plugin 控制插件权限。

01

account

统一账号表——用户名、邮箱、密码(bcrypt)、手机、状态、role_id、deleted_at 软删除。status=1 禁删保护。

02

account_plugin

账号-插件关联——记录 account_id 在各 plugin_key 下的权限标记,控制插件级访问。

03

account_extend

账号扩展数据(EAV)——entity_id + field_id + value,灵活扩展账号附加属性。

04

account_extend_field

扩展字段定义——字段名、类型(文本/数字/日期/选项)、是否必填、排序。

05

account_extend_option

扩展字段选项——当 field 类型为选项时,定义可选值列表。

核

核心规范

外键一律 _id(非 _key); password 不进表走 .env; created_at/updated_at/deleted_at DATETIME 本地时区。

03 / RBAC

role + menu,权限即菜单。

登录后按 role_id 返回菜单树,menu 含 plugin_key 字段支持插件菜单注入与卸载。

role 角色表

角色定义 · 权限JSON

定义角色名称、标识 key、权限列表(JSON),account 通过 role_id 关联。支持超级管理员 is_super 标记。

  • name / key / permissions(JSON)
  • is_super 超级管理员标记
  • 支持启停(status)

menu 菜单表

树形菜单 · 插件注入

定义菜单树结构(parent_id 自关联)、URL、图标、排序、plugin_key。插件安装注入菜单,卸载按 key 删除。

  • title / url / icon / sort / parent_id
  • plugin_key 插件菜单注入标识
  • 前端 children + url 字段渲染
04 / SECURITY TABLES

5 张安全表,纵深防护。

从登录指纹到全局锁定,每张表覆盖一个安全维度。

表名类别说明关键字段
login_log登录日志每次登录成功/失败记录,附 IP、设备指纹account_id, token_hash(sha256), ip, device_fingerprint, status, revoked_at
login_lock账号锁定单账号登录失败计数,达到阈值锁定account_id, fail_count, locked_until
login_lock_global全局锁定IP 级/全局级锁定,防止撞库ip, fail_count, locked_until
security_rule安全规则可配置的安全策略(锁定阈值、密码强度等)rule_key, rule_value(JSON), status
request_limit请求限制按 key(IP/account) 限流窗口limit_key, window_seconds, max_requests, current_count
TOKEN 安全 sha256 指纹存 token_hash 原文不落库 revoked_at 主动作废 改密清空所有 token
05 / AUDIT & TRASH

全链路可追溯,误删可恢复。

操作日志不可篡改、删除快照可回溯、回收站可还原。

01

operation_log

操作审计日志——记录每个 API 请求的 controller、action、参数、响应、耗时、操作人。append-only,无 updated_at。

02

delete_log

删除快照——软删除操作时将整行数据 JSON 快照存入 delete_log,用于回溯与审计。append-only。

03

trash

回收站——软删记录汇总视图,提供 trashList/restore/purge 三件套操作。restore 将 status 从 4 置回 1。

04

request_key

请求密钥管理——为外部调用方签发的 gateway_key,控制 API 访问权限。

05

request_log

请求日志——记录所有请求的完整信息(URL、方法、参数、响应码)。append-only。

软

软删除规范

全表统一 deleted_at(NULL=正常);account 特例 status=1 禁删;SoftDeleteBase 联动 status(删=4/还原=1)。

30 张表已就位,等你建表。

DDL 真源在 doc/数据库/DDL-基座-v2.sql,从远程库导出重建,列级一致。