Skip to content

数据库表结构

本文档由 tools/dbdoc 连接数据库自动生成,请勿手改;schema 变更后重新生成。

目录

  • 身份与权限(11):departments menu_permissions menus permissions role_data_scope_departments role_permissions roles sys_posts sys_user_posts user_roles users
  • 认证与安全(5):console_routes console_sessions oauth_bindings password_history totp_recovery_codes
  • 多租户(2):tenant_packages tenants
  • 系统运营(10):dict_items dict_types error_codes notices scheduled_job_logs scheduled_jobs sms_channels sms_logs sms_templates system_settings
  • 审计日志(3):audit_logs login_logs operation_logs
  • 文件服务(1):files
  • 审批流(BPM)(5):bpm_cc_record bpm_process_definition bpm_process_instance bpm_process_log bpm_task
  • 迁移框架(2):goose_db_version schema_migrations

身份与权限

departments

类型可空默认值说明
idbigintIDENTITY
namecharacter varying(100)
codecharacter varying(50)NULL::character varying
parent_idbigint0
leadercharacter varying(50)''::character varying
phonecharacter varying(20)''::character varying
emailcharacter varying(100)''::character varying
sortbigint0
statussmallint1
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone
tenant_idbigint1
leader_user_idbigint0

键与约束

  • PRIMARY KEY (id)

索引

  • btree (parent_id)
  • btree (tenant_id, code) [UNIQUE]
  • btree (tenant_id)
类型可空默认值说明
idbigintIDENTITY
menu_idbigint
permission_idbigint

键与约束

  • PRIMARY KEY (id)

索引

  • btree (permission_id)
  • btree (menu_id, permission_id) [UNIQUE]
类型可空默认值说明
idbigintIDENTITY
namecharacter varying(50)
titlecharacter varying(50)
iconcharacter varying(100)''::character varying
pathcharacter varying(255)''::character varying
componentcharacter varying(255)''::character varying
parent_idbigint0
sortbigint0
statussmallint1
hiddensmallint0
permissioncharacter varying(100)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (parent_id)

permissions

类型可空默认值说明
idbigintIDENTITY
namecharacter varying(50)
codecharacter varying(100)
typesmallint
pathcharacter varying(255)''::character varying
methodcharacter varying(10)''::character varying
parent_idbigint0
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone
descriptioncharacter varying(255)''::character varying

键与约束

  • PRIMARY KEY (id)

索引

  • btree (code) [UNIQUE]
  • btree (parent_id)

role_data_scope_departments

类型可空默认值说明
idbigintIDENTITY
role_idbigint
department_idbigint
created_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (department_id)
  • btree (role_id, department_id) [UNIQUE]

role_permissions

类型可空默认值说明
idbigintIDENTITY
role_idbigint
permission_idbigint

键与约束

  • PRIMARY KEY (id)

索引

  • btree (permission_id)
  • btree (role_id, permission_id) [UNIQUE]

roles

类型可空默认值说明
idbigintIDENTITY
namecharacter varying(50)
codecharacter varying(50)
descriptioncharacter varying(255)''::character varying
data_scopecharacter varying(32)'self'::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone
tenant_idbigint1

键与约束

  • PRIMARY KEY (id)

索引

  • btree (data_scope)
  • btree (tenant_id, code) [UNIQUE]
  • btree (tenant_id)

sys_posts

类型可空默认值说明
idbigintIDENTITY
tenant_idbigint1
codecharacter varying(64)
namecharacter varying(64)
sortbigint0
statussmallint1
remarkcharacter varying(500)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (tenant_id)
  • btree (tenant_id, code) [UNIQUE]

sys_user_posts

类型可空默认值说明
idbigintIDENTITY
user_idbigint
post_idbigint

键与约束

  • PRIMARY KEY (id)

索引

  • btree (post_id)
  • btree (user_id, post_id) [UNIQUE]

user_roles

类型可空默认值说明
idbigintIDENTITY
user_idbigint
role_idbigint

键与约束

  • PRIMARY KEY (id)

索引

  • btree (role_id)
  • btree (user_id, role_id) [UNIQUE]

users

类型可空默认值说明
idbigintIDENTITY
usernamecharacter varying(50)
passwordcharacter varying(255)
nicknamecharacter varying(50)''::character varying
emailcharacter varying(100)NULL::character varying
phonecharacter varying(20)NULL::character varying
avatarcharacter varying(255)''::character varying
department_idbigint0
must_change_passwordbooleanfalse
statussmallint1
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone
password_changed_attimestamp(3) with time zoneNULL::timestamp with time zone
totp_secretcharacter varying(255)''::character varying
totp_enabledbooleanfalse
tenant_idbigint1
is_platform_adminbooleanfalse

键与约束

  • PRIMARY KEY (id)

索引

  • btree (department_id)
  • btree (tenant_id, email) WHERE ((email IS NOT NULL) AND ((email)::text <> ''::text)) [UNIQUE]
  • btree (tenant_id)
  • btree (tenant_id, phone) WHERE ((phone IS NOT NULL) AND ((phone)::text <> ''::text)) [UNIQUE]
  • btree (tenant_id, username) [UNIQUE]

认证与安全

console_routes

类型可空默认值说明
route_keycharacter varying(64)
pathcharacter varying(255)
namecharacter varying(128)
component_keycharacter varying(128)
redirectcharacter varying(255)''::character varying
parent_keycharacter varying(64)''::character varying
sort_orderbigint1000
hiddenbooleanfalse
publicbooleanfalse
enabledbooleantrue
permissions_jsonjsonb
roles_jsonjsonb
meta_jsonjsonb
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (route_key)

索引

  • btree (enabled)
  • btree (name) [UNIQUE]
  • btree (parent_key)
  • btree (path) [UNIQUE]
  • btree (sort_order)

console_sessions

类型可空默认值说明
session_idcharacter varying(64)
usernamecharacter varying(128)
issued_attimestamp(3) with time zone
expires_attimestamp(3) with time zone
revoked_attimestamp(3) with time zoneNULL::timestamp with time zone
last_seen_attimestamp(3) with time zoneNULL::timestamp with time zone
client_ip_hashcharacter varying(64)''::character varying
user_agent_hashcharacter varying(64)''::character varying
user_agent_previewcharacter varying(255)''::character varying
created_attimestamp(3) with time zone

键与约束

  • PRIMARY KEY (session_id)

索引

  • btree (expires_at)
  • btree (issued_at)
  • btree (revoked_at)
  • btree (username)

oauth_bindings

类型可空默认值说明
idbigintIDENTITY
user_idbigint
providercharacter varying(50)
provider_user_idcharacter varying(100)
access_tokencharacter varying(255)''::character varying
refresh_tokencharacter varying(255)''::character varying
expires_attimestamp(3) with time zoneNULL::timestamp with time zone
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (user_id)
  • btree (provider, provider_user_id) [UNIQUE]
  • btree (user_id, provider) [UNIQUE]

password_history

类型可空默认值说明
idbigintIDENTITY
user_idbigint
password_hashcharacter varying(255)
changed_attimestamp(3) with time zone
created_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (user_id, changed_at)
  • btree (user_id)

totp_recovery_codes

类型可空默认值说明
idbigintIDENTITY
user_idbigint
code_hashcharacter varying(255)
used_attimestamp(3) with time zoneNULL::timestamp with time zone
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
  • PRIMARY KEY (id)

索引

  • btree (user_id)
  • btree (user_id, used_at)

多租户

tenant_packages

类型可空默认值说明
idbigintIDENTITY
namecharacter varying(128)
permission_codesjsonb'[]'::jsonb
statussmallint1
remarkcharacter varying(255)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (name) [UNIQUE]

tenants

类型可空默认值说明
idbigintIDENTITY
codecharacter varying(64)
namecharacter varying(128)
statussmallint1
plancharacter varying(64)'free'::character varying
max_usersbigint0
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone
package_idbigint

键与约束

  • PRIMARY KEY (id)

索引

  • btree (code) [UNIQUE]
  • btree (package_id)

系统运营

dict_items

类型可空默认值说明
idbigintIDENTITY
dict_type_idbigint
labelcharacter varying(100)
valuecharacter varying(100)
sortbigint0
statussmallint1
remarkcharacter varying(255)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (dict_type_id)

dict_types

类型可空默认值说明
idbigintIDENTITY
namecharacter varying(100)
codecharacter varying(100)
descriptioncharacter varying(255)''::character varying
statussmallint1
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (code) [UNIQUE]

error_codes

类型可空默认值说明
idbigintIDENTITY
codecharacter varying(128)
messagecharacter varying(512)
memocharacter varying(255)''::character varying
scopecharacter varying(64)'global'::character varying
statussmallint1
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (code) [UNIQUE]

notices

类型可空默认值说明
idbigintIDENTITY
titlecharacter varying(200)
contenttext
typesmallint1
statussmallint1
creator_idbigint
creatorcharacter varying(50)''::character varying
start_timetimestamp(3) with time zoneNULL::timestamp with time zone
end_timetimestamp(3) with time zoneNULL::timestamp with time zone
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone
tenant_idbigint1

键与约束

  • PRIMARY KEY (id)

索引

  • btree (creator_id)
  • btree (tenant_id)

scheduled_job_logs

类型可空默认值说明
idbigintIDENTITY
job_idbigint
job_namecharacter varying(100)
statussmallint1
messagetext
durationbigint0
created_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (created_at)
  • btree (job_id, created_at DESC)

scheduled_jobs

类型可空默认值说明
idbigintIDENTITY
namecharacter varying(100)
group_namecharacter varying(50)'default'::character varying
cron_expressioncharacter varying(50)
invoke_targetcharacter varying(255)
descriptioncharacter varying(500)''::character varying
statussmallint1
concurrentsmallint0
last_run_timetimestamp(3) with time zoneNULL::timestamp with time zone
next_run_timetimestamp(3) with time zoneNULL::timestamp with time zone
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (name) [UNIQUE]

sms_channels

类型可空默认值说明
idbigintIDENTITY
tenant_idbigint1
namecharacter varying(100)
providercharacter varying(32)
configjson
statussmallint1
remarkcharacter varying(255)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (tenant_id)

sms_logs

类型可空默认值说明
idbigintIDENTITY
tenant_idbigint1
mobilecharacter varying(32)''::character varying
template_codecharacter varying(100)''::character varying
contenttext''::text
paramsjson
channel_idbigint0
channel_namecharacter varying(100)''::character varying
providercharacter varying(32)''::character varying
statuscharacter varying(16)'sending'::character varying
provider_msg_idcharacter varying(128)''::character varying
errorcharacter varying(512)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (mobile)
  • btree (status)
  • btree (template_code)
  • btree (tenant_id)

sms_templates

类型可空默认值说明
idbigintIDENTITY
tenant_idbigint1
codecharacter varying(100)
namecharacter varying(100)
channel_idbigint0
contenttext''::text
typesmallint1
provider_template_idcharacter varying(100)''::character varying
statussmallint1
remarkcharacter varying(255)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (channel_id)
  • btree (tenant_id, code) [UNIQUE]

system_settings

类型可空默认值说明
setting_keycharacter varying(128)
value_jsonjsonb
updated_attimestamp(3) with time zoneNULL::timestamp with time zone

键与约束

  • PRIMARY KEY (setting_key)

索引

  • btree (updated_at)

审计日志

audit_logs

类型可空默认值说明
idbigintIDENTITY
actor_typecharacter varying(64)'operator'::character varying
actor_idcharacter varying(128)'web-console'::character varying
actioncharacter varying(128)
target_typecharacter varying(64)
target_idcharacter varying(128)
before_jsonjsonb
after_jsonjsonb
summarytext
created_attimestamp(3) with time zoneNULL::timestamp with time zone
tenant_idbigint1

键与约束

  • PRIMARY KEY (id)

索引

  • btree (action)
  • btree (created_at)
  • btree (target_type, target_id, created_at DESC)
  • btree (target_id)
  • btree (tenant_id, created_at DESC)

login_logs

类型可空默认值说明
idbigintIDENTITY
user_idbigint
usernamecharacter varying(50)''::character varying
login_typesmallint1
statussmallint1
ipcharacter varying(45)''::character varying
locationcharacter varying(100)''::character varying
devicecharacter varying(100)''::character varying
oscharacter varying(50)''::character varying
browsercharacter varying(100)''::character varying
user_agentcharacter varying(500)''::character varying
messagecharacter varying(255)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
tenant_idbigint1

键与约束

  • PRIMARY KEY (id)

索引

  • btree (created_at)
  • btree (ip, created_at) WHERE (status = 0)
  • btree (username, created_at) WHERE (status = 0)
  • btree (tenant_id, created_at DESC)
  • btree (user_id, created_at DESC)

operation_logs

类型可空默认值说明
idbigintIDENTITY
user_idbigint
usernamecharacter varying(50)''::character varying
actor_typecharacter varying(64)'operator'::character varying
actor_idcharacter varying(128)'web-console'::character varying
request_idcharacter varying(64)''::character varying
modulecharacter varying(50)''::character varying
actioncharacter varying(50)''::character varying
methodcharacter varying(10)''::character varying
pathcharacter varying(255)''::character varying
querycharacter varying(1024)''::character varying
request_bodytext
response_bodytext
statusbigint0
ipcharacter varying(45)''::character varying
user_agentcharacter varying(500)''::character varying
latencybigint0
error_msgcharacter varying(1024)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
tenant_idbigint1

键与约束

  • PRIMARY KEY (id)

索引

  • btree (created_at)
  • btree (request_id)
  • btree (tenant_id, created_at DESC)
  • btree (user_id, created_at DESC)

文件服务

files

类型可空默认值说明
idbigintIDENTITY
user_idbigint
file_namecharacter varying(255)
file_pathcharacter varying(500)
file_sizebigint0
file_typecharacter varying(50)''::character varying
mime_typecharacter varying(100)''::character varying
extensioncharacter varying(20)''::character varying
storage_typecharacter varying(20)'local'::character varying
urlcharacter varying(500)''::character varying
hashcharacter varying(64)''::character varying
created_attimestamp(3) with time zoneNULL::timestamp with time zone
updated_attimestamp(3) with time zoneNULL::timestamp with time zone
image_widthinteger0
image_heightinteger0
thumbnail_pathcharacter varying(500)''::character varying
thumbnail_urlcharacter varying(500)''::character varying
thumbnail_widthinteger0
thumbnail_heightinteger0
tenant_idbigint1

键与约束

  • PRIMARY KEY (id)

索引

  • btree (hash)
  • btree (tenant_id, created_at DESC)
  • btree (tenant_id, user_id)
  • btree (user_id)

审批流(BPM)

bpm_cc_record

类型可空默认值说明
idbigintnextval('bpm_cc_record_id_seq'::regclass)
tenant_idbigint1
instance_idbigint
node_idcharacter varying(64)
user_idbigint
read_attimestamp with time zone
created_attimestamp with time zone
node_namecharacter varying(128)''::character varying

键与约束

  • PRIMARY KEY (id)

索引

  • btree (instance_id)
  • btree (tenant_id, user_id)

bpm_process_definition

类型可空默认值说明
idbigintnextval('bpm_process_definition_id_seq'::regclass)
tenant_idbigint1
keycharacter varying(64)
versionbigint1
namecharacter varying(128)
statuscharacter varying(16)'draft'::character varying
node_treejsonb
form_schemajsonb
biz_typecharacter varying(32)
remarkcharacter varying(256)
created_bybigint0
created_attimestamp with time zone
updated_attimestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (biz_type)
  • btree (status)
  • btree (tenant_id)
  • btree (tenant_id, key, version) [UNIQUE]

bpm_process_instance

类型可空默认值说明
idbigintnextval('bpm_process_instance_id_seq'::regclass)
tenant_idbigint1
definition_idbigint
definition_keycharacter varying(64)
titlecharacter varying(256)
biz_typecharacter varying(32)
biz_idcharacter varying(64)
statuscharacter varying(16)'running'::character varying
current_node_idcharacter varying(64)
form_snapshotjsonb
variablesjsonb
initiator_idbigint
initiator_deptbigint0
finished_attimestamp with time zone
created_attimestamp with time zone
updated_attimestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (definition_key)
  • btree (tenant_id, initiator_id, status)
  • btree (tenant_id, status)
  • btree (tenant_id, biz_type, biz_id) WHERE ((status)::text = 'running'::text) [UNIQUE]

bpm_process_log

类型可空默认值说明
idbigintnextval('bpm_process_log_id_seq'::regclass)
tenant_idbigint1
instance_idbigint
node_idcharacter varying(64)
task_idbigint0
actioncharacter varying(32)
operator_idbigint0
detailjsonb
created_attimestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (tenant_id)
  • btree (instance_id, created_at)

bpm_task

类型可空默认值说明
idbigintnextval('bpm_task_id_seq'::regclass)
tenant_idbigint1
instance_idbigint
node_idcharacter varying(64)
node_namecharacter varying(128)
roundbigint1
assignee_idbigint
origin_assigneebigint0
multi_modecharacter varying(8)'OR'::character varying
seq_orderbigint0
statuscharacter varying(16)'pending'::character varying
commentcharacter varying(512)
timeout_attimestamp with time zone
reminded_attimestamp with time zone
acted_attimestamp with time zone
created_attimestamp with time zone
updated_attimestamp with time zone

键与约束

  • PRIMARY KEY (id)

索引

  • btree (origin_assignee)
  • btree (instance_id, node_id, round)
  • btree (tenant_id, assignee_id, status)

迁移框架

goose_db_version

类型可空默认值说明
idintegerIDENTITY
version_idbigint
is_appliedboolean
tstamptimestamp without time zonenow()

键与约束

  • PRIMARY KEY (id)

schema_migrations

类型可空默认值说明
versioncharacter varying(255)
checksumcharacter varying(64)''::character varying
applied_attimestamp with time zoneCURRENT_TIMESTAMP

键与约束

  • PRIMARY KEY (version)

MIT Licensed · 开源 Go 微服务后台管理脚手架