oidc-gateway-demo/database.md

3.6 KiB
Raw Blame History

数据库表结构设计

一、统一认证网关(主工程)表结构

1. 用户表users

字段名 类型 说明
id BIGINT 主键,自增
username VARCHAR(50) 用户名(租户/子系统内唯一)
password VARCHAR(255) 密码(加密存储)
user_type ENUM 用户类型TENANT/SUBSYSTEM
tenant_id BIGINT 所属租户ID外键->tenants.id所有用户必填标识归属租户
subsystem_id BIGINT 所属子系统ID外键->subsystems.id仅子系统用户必填
email VARCHAR(100) 邮箱
phone VARCHAR(20) 手机号
real_name VARCHAR(50) 真实姓名
status ENUM 状态ACTIVE/INACTIVE/LOCKED/DELETED
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
UNIQUE KEY uk_tenant_username (tenant_id, username)
UNIQUE KEY uk_subsystem_username (subsystem_id, username)

主键id 外键tenant_id 关联 tenants.id所有用户必填subsystem_id 关联 subsystems.id仅子系统用户必填

2. 租户表tenants

字段名 类型 说明
id BIGINT 主键,自增
tenant_code VARCHAR(50) 租户唯一标识
tenant_name VARCHAR(100) 租户名称
description TEXT 描述
status ENUM 状态ACTIVE/INACTIVE
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间

主键id

3. 子系统表subsystems

字段名 类型 说明
id BIGINT 主键,自增
subsystem_code VARCHAR(50) 子系统唯一标识
subsystem_name VARCHAR(100) 子系统名称
description TEXT 描述
base_url VARCHAR(255) 子系统入口地址
status ENUM 状态ACTIVE/INACTIVE
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间

主键id

4. 租户-子系统权限表tenant_subsystem_permissions

字段名 类型 说明
id BIGINT 主键,自增
tenant_id BIGINT 租户ID外键->tenants.id
subsystem_id BIGINT 子系统ID外键->subsystems.id
permissions JSON 权限配置
status ENUM 状态ACTIVE/INACTIVE
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
UNIQUE KEY uk_tenant_subsystem (tenant_id, subsystem_id)

主键id 外键tenant_id 关联 tenants.idsubsystem_id 关联 subsystems.id