Files
ai-gateway-go/docs/legacy-data-dictionary.md
T
superidou 5759c1862e AI Gateway Go 0.10.0 源码快照 + 旗舰版需求规划报告
M0-M7 已完成:核心网关(身份/RBAC/TOTP/OIDC/SAML/Provider/配额/路由/内容策略/审计/定价)+ 资源市场(MCP/Skills/数字员工)。
含 22 个 PostgreSQL 迁移、管理端/门户端前端源码、OpenAPI 契约、部署 compose。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-12 11:45:54 +08:00

27 KiB
Raw Blame History

旧 Python 网关数据字典与 ID 迁移映射

scripts/export_legacy_dictionary.py 从旧工程 SQLAlchemy metadata 生成。 audit_log_views 是兼容查询投影,不作为独立持久化实体,因此这里统计 38 个实体。

映射约定

  • 旧整数主键统一通过 gateway.legacy_id_mappings 映射为 UUID,不在新业务表保留双主键。
  • UUID 使用固定 namespace 的 UUIDv5 生成,输入为 source_system/entity_type/legacy_id,重复导入保持幂等。
  • 外键迁移必须先查映射表;缺失映射时整批失败,不允许写入悬空引用。
  • 旧密文不能直接复用:Provider、TOTP、内部服务 Key 等敏感字段在导入时解密后用新用途标签重新加密。
  • audit_logs 的完整请求/响应正文不进入新库,只迁移受长度约束的预览与结构化元数据。

实体去向

旧表 新域/目标 状态
admin_accounts gateway.admin_accounts(已落地) 已建表,待批量导入器
application_revisions gateway.application_versions 已建表,待批量导入器转换 config 引用
application_runs gateway.application_runs 已建表,待批量导入器
applications gateway.applications 已建表,待批量导入器
audit_logs gateway.audit_events(已落地,不迁移无限长正文) 已建表,待批量导入器
audit_search_records 对应 M2M4 领域表 已登记,随对应里程碑建表
audit_settings 对应 M2M4 领域表 已登记,随对应里程碑建表
content_audit_scopes 对应 M2M4 领域表 已登记,随对应里程碑建表
departments gateway.departments(已落地) 已建表,待批量导入器
dept_budgets 对应 M2M4 领域表 已登记,随对应里程碑建表
feishu_auth_settings 对应 M2M4 领域表 已登记,随对应里程碑建表
filter_rules 对应 M2M4 领域表 已登记,随对应里程碑建表
hallucination_events 对应 M2M4 领域表 已登记,随对应里程碑建表
hallucination_policies 对应 M2M4 领域表 已登记,随对应里程碑建表
hallucination_settings 对应 M2M4 领域表 已登记,随对应里程碑建表
internal_service_keys 对应 M2M4 领域表 已登记,随对应里程碑建表
knowledge_bases gateway.knowledge_bases 已建表,旧 embedding_model 转检索器迁移策略待导入器处理
knowledge_chunks gateway.knowledge_chunks 已建表,基线重新分块/建 PostgreSQL 搜索向量
knowledge_documents gateway.knowledge_documents 已建表,只导入不超过 2 MiB 的提取文本
managed_conversations 对应 M2M4 领域表 已登记,随对应里程碑建表
managed_messages 对应 M2M4 领域表 已登记,随对应里程碑建表
model_aliases 对应 M2M4 领域表 已登记,随对应里程碑建表
model_pricing 对应 M2M4 领域表 已登记,随对应里程碑建表
model_qps_configs 对应 M2M4 领域表 已登记,随对应里程碑建表
model_requests 对应 M2M4 领域表 已登记,随对应里程碑建表
notify_config gateway.notification_channels 已建表,待解密后重新加密签名密钥
pricing_config 对应 M2M4 领域表 已登记,随对应里程碑建表
prompt_categories gateway.prompt_categories 已建表,待批量导入器
prompt_favorites 对应 M2M4 领域表 已登记,随对应里程碑建表
prompt_templates gateway.prompt_templates 已建表,待批量导入器
prompt_versions gateway.prompt_versions 已建表,待批量导入器
providers gateway.providers + gateway.provider_models(已落地,models 拆表) 已建表,待批量导入器
rate_limit_rules 对应 M2M4 领域表 已登记,随对应里程碑建表
routing_groups 对应 M2M4 领域表 已登记,随对应里程碑建表
routing_targets 对应 M2M4 领域表 已登记,随对应里程碑建表
tool_definitions gateway.tool_definitions 已建表,待解密后用新用途标签加密请求头
users gateway.portal_users(已落地) 已建表,待批量导入器
virtual_keys gateway.api_keys(已落地,字段需转换) 已建表,待批量导入器

字段字典

admin_accounts

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
username VARCHAR(64) UNIQUE
password_hash VARCHAR(128)
display_name VARCHAR(64) ``
role VARCHAR(16) superadmin
active BOOLEAN True
last_login DATETIME
failed_logins INTEGER 0
locked_until DATETIME
created_at DATETIME now
totp_secret VARCHAR(255) ``
totp_enabled BOOLEAN False
totp_last_step INTEGER
totp_backup_codes TEXT []
totp_confirmed_at DATETIME

application_revisions

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
application_id INTEGER FK → applications.id
version INTEGER
config TEXT
change_note VARCHAR(256) ``
published_by VARCHAR(128) ``
created_at DATETIME now

application_runs

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
application_id INTEGER FK → applications.id
version INTEGER 0
user_id INTEGER FK → users.id
status VARCHAR(16) success
latency_ms INTEGER 0
retrieval_count INTEGER 0
tool_calls INTEGER 0
error VARCHAR(512) ``
created_at DATETIME now

applications

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
app_code VARCHAR(64) UNIQUE
name VARCHAR(128)
description TEXT ``
dept_id INTEGER FK → departments.id
owner_user_id INTEGER FK → users.id
status VARCHAR(16) active
allowed_models TEXT []
quota_tokens INTEGER
rpm_limit INTEGER
draft_config TEXT {}
published_config TEXT {}
release_version INTEGER 0
published_at DATETIME
runtime_key_id INTEGER
runtime_key_secret TEXT ``
created_by VARCHAR(128) ``
created_at DATETIME now
updated_at DATETIME now

audit_logs

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
event_id VARCHAR(32) UNIQUE
ts DATETIME now
key_id INTEGER
key_name VARCHAR(128) ``
user_id INTEGER
owner VARCHAR(128)
model VARCHAR(64)
client_ip VARCHAR(64)
request_body TEXT
response_body TEXT
request_body_ref VARCHAR(512) ``
response_body_ref VARCHAR(512) ``
request_body_size INTEGER 0
response_body_size INTEGER 0
request_body_sha256 VARCHAR(64) ``
response_body_sha256 VARCHAR(64) ``
prompt_tokens INTEGER 0
completion_tokens INTEGER 0
filter_hits TEXT []
outcome VARCHAR(16) pass
blocked BOOLEAN False
status_code INTEGER 200
latency_ms INTEGER 0
search_text TEXT ``

audit_search_records

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
viewer VARCHAR(128)
query_hash VARCHAR(64)
start_at DATETIME
end_at DATETIME
owner_filter VARCHAR(128) ``
model_filter VARCHAR(128) ``
result_count INTEGER 0
duration_ms INTEGER 0
ts DATETIME now

audit_settings

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
image_audit_enabled BOOLEAN True
media_audit_async BOOLEAN False
text_audit_enabled BOOLEAN False
deep_scan_enabled BOOLEAN False
text_audit_api_base VARCHAR(256) ``
text_audit_api_key VARCHAR(512) ``
text_audit_model VARCHAR(128) ``
image_audit_api_base VARCHAR(256) ``
image_audit_api_key VARCHAR(512) ``
image_audit_model VARCHAR(128) ``
updated_at DATETIME now

content_audit_scopes

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
kind VARCHAR(16)
scope VARCHAR(32)
enabled BOOLEAN True
mode VARCHAR(16) async
created_at DATETIME now

departments

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(64) UNIQUE
created_at DATETIME now

dept_budgets

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
dept_id INTEGER UNIQUEFK → departments.id
monthly_point_budget FLOAT 0.0
alert_threshold_pct INTEGER 80
notify_enabled BOOLEAN True
last_alert_period VARCHAR(7) ``
last_alert_threshold INTEGER 0
updated_at DATETIME now

feishu_auth_settings

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
enabled BOOLEAN False
app_id VARCHAR(128) ``
app_secret VARCHAR(512) ``
default_dept VARCHAR(128) 飞书用户
allowed_tenants TEXT []
provisioning_mode VARCHAR(16) pending
updated_at DATETIME now

filter_rules

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(64)
rule_type VARCHAR(16) keyword
pattern TEXT
action VARCHAR(16) block
severity VARCHAR(8)
enabled BOOLEAN True
builtin BOOLEAN False
scope VARCHAR(32) global
dimension VARCHAR(32) sensitive_content
created_at DATETIME now

hallucination_events

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
request_id VARCHAR(64) ``
key_id INTEGER FK → virtual_keys.id
application_id INTEGER FK → applications.id
dept_id INTEGER FK → departments.id
model VARCHAR(128) ``
mode VARCHAR(16) async
action VARCHAR(16) observe
verdict VARCHAR(24) insufficient
support_score INTEGER 0
question TEXT ``
answer TEXT ``
claims TEXT []
evidence TEXT []
latency_ms INTEGER 0
error VARCHAR(512) ``
created_at DATETIME now

hallucination_policies

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
scope VARCHAR(32) global
enabled BOOLEAN False
mode VARCHAR(16) async
action VARCHAR(16) observe
kb_ids TEXT []
support_threshold INTEGER 70
evidence_threshold FLOAT 0.35
top_k INTEGER 4
max_claims INTEGER 8
created_at DATETIME now
updated_at DATETIME now

hallucination_settings

字段 旧类型 可空 默认值 键/引用
id INTEGER 1 PK
api_base VARCHAR(256) ``
api_key VARCHAR(512) ``
model VARCHAR(128) ``
timeout_seconds INTEGER 15
updated_at DATETIME now

internal_service_keys

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
virtual_key_id INTEGER FK → virtual_keys.id
raw_key_encrypted VARCHAR(512) ``
created_at DATETIME now

knowledge_bases

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(128) UNIQUE
description TEXT ``
embedding_model VARCHAR(128)
chunk_size INTEGER 800
chunk_overlap INTEGER 100
dept_scope TEXT []
enabled BOOLEAN True
created_by VARCHAR(128) ``
created_at DATETIME now
updated_at DATETIME now

knowledge_chunks

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
kb_id INTEGER FK → knowledge_bases.id
doc_id INTEGER FK → knowledge_documents.id
chunk_index INTEGER 0
content TEXT ``
embedding TEXT []
token_count INTEGER 0
created_at DATETIME now

knowledge_documents

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
kb_id INTEGER FK → knowledge_bases.id
filename VARCHAR(256) ``
source_type VARCHAR(16) upload
status VARCHAR(16) pending
status_message TEXT ``
content TEXT ``
char_count INTEGER 0
chunk_count INTEGER 0
uploaded_by VARCHAR(128) ``
created_at DATETIME now
updated_at DATETIME now

managed_conversations

字段 旧类型 可空 默认值 键/引用
id VARCHAR(48) PK
user_id INTEGER FK → users.id
application_id INTEGER FK → applications.id
title VARCHAR(160) 新会话
status VARCHAR(16) active
next_seq INTEGER 1
head_hash VARCHAR(64) ``
busy BOOLEAN False
busy_token VARCHAR(48) ``
busy_since DATETIME
created_at DATETIME now
updated_at DATETIME now

managed_messages

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
conversation_id VARCHAR(48) FK → managed_conversations.id
seq INTEGER
role VARCHAR(16)
content TEXT
content_sha256 VARCHAR(64)
prev_hash VARCHAR(64) ``
chain_hash VARCHAR(64)
created_at DATETIME now

model_aliases

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
alias VARCHAR(128) UNIQUE
target_model VARCHAR(128)
enabled BOOLEAN True
note VARCHAR(256) ``
created_at DATETIME now
updated_at DATETIME now

model_pricing

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
model VARCHAR(128)
input_price_per_1k FLOAT 0.0
output_price_per_1k FLOAT 0.0
effective_from DATETIME now
note VARCHAR(256) ``
created_at DATETIME now

model_qps_configs

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
model VARCHAR(128) UNIQUE
qps INTEGER
enabled BOOLEAN True
updated_at DATETIME now

model_requests

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
ts DATETIME now
user_id INTEGER FK → users.id
dept_id INTEGER
user_snapshot VARCHAR(128) ``
model_name VARCHAR(128)
provider_name VARCHAR(64) ``
purpose TEXT ``
quota_required INTEGER
status VARCHAR(16) pending
target_key_id INTEGER
reviewer VARCHAR(128) ``
review_comment TEXT ``
reviewed_at DATETIME
created_at DATETIME now

notify_config

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
enabled BOOLEAN False
webhook_url VARCHAR(512) ``
signing_secret VARCHAR(512) ``
notify_actions VARCHAR(32) block,redact
dept_scope TEXT []
updated_at DATETIME now

pricing_config

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
points_per_yuan FLOAT 100.0
overhead_factor FLOAT 1.0
updated_at DATETIME now

prompt_categories

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(64) UNIQUE
description VARCHAR(256) ``
created_at DATETIME now

prompt_favorites

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
user_id INTEGER FK → users.id
template_id INTEGER FK → prompt_templates.id
created_at DATETIME now

prompt_templates

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(128) UNIQUE
description TEXT ``
category_id INTEGER FK → prompt_categories.id
tags TEXT []
dept_scope TEXT []
current_version_id INTEGER
use_count INTEGER 0
enabled BOOLEAN True
created_by VARCHAR(128) ``
created_at DATETIME now
updated_at DATETIME now

prompt_versions

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
template_id INTEGER FK → prompt_templates.id
version_number INTEGER
content TEXT
variables TEXT []
change_note VARCHAR(256) ``
created_by VARCHAR(128) ``
created_at DATETIME now

providers

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(64) UNIQUE
base_url VARCHAR(256)
api_key VARCHAR(512) ``
models TEXT []
backends TEXT ``
enabled BOOLEAN True
created_at DATETIME now

rate_limit_rules

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(64)
enabled BOOLEAN True
dimension VARCHAR(16) consumer
field_name VARCHAR(64) ``
match_type VARCHAR(16) any
pattern VARCHAR(256) ``
limit_count INTEGER 60
window_seconds INTEGER 60
created_at DATETIME now
updated_at DATETIME now

routing_groups

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
virtual_model VARCHAR(128) UNIQUE
strategy VARCHAR(16) priority
description VARCHAR(256) ``
enabled BOOLEAN True
created_by VARCHAR(128) ``
created_at DATETIME now
updated_at DATETIME now

routing_targets

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
group_id INTEGER FK → routing_groups.id
target_model VARCHAR(128)
priority INTEGER 100
capability_tags TEXT []
enabled BOOLEAN True
created_at DATETIME now

tool_definitions

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
name VARCHAR(128) UNIQUE
description TEXT ``
endpoint_url VARCHAR(512)
http_method VARCHAR(8) POST
headers_template TEXT ``
input_schema TEXT {}
timeout_seconds INTEGER 15
dept_scope TEXT []
enabled BOOLEAN True
created_by VARCHAR(128) ``
created_at DATETIME now
updated_at DATETIME now

users

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
account VARCHAR(128) UNIQUE
name VARCHAR(64) ``
dept_id INTEGER FK → departments.id
password_hash VARCHAR(128) ``
feishu_open_id VARCHAR(128) UNIQUE
feishu_union_id VARCHAR(128)
auth_source VARCHAR(16) local
active BOOLEAN True
provisioning_status VARCHAR(16) active
failed_logins INTEGER 0
locked_until DATETIME
deleted_name_snapshot VARCHAR(128) ``
created_at DATETIME now
totp_secret VARCHAR(255) ``
totp_enabled BOOLEAN False
totp_last_step INTEGER
totp_backup_codes TEXT []
totp_confirmed_at DATETIME

virtual_keys

字段 旧类型 可空 默认值 键/引用
id INTEGER PK
key_hash VARCHAR(64) UNIQUE
key_prefix VARCHAR(16)
name VARCHAR(128)
user_id INTEGER FK → users.id
application_id INTEGER FK → applications.id
owner VARCHAR(128)
allowed_models TEXT []
quota_tokens INTEGER
used_tokens INTEGER 0
rpm_limit INTEGER
active BOOLEAN True
expires_at DATETIME
created_at DATETIME now