feat(migration): m0021删llm_usage token冗余列+m0025加project_id列索引(2026-09-10用户定夺,配对pipeline-llm@427cd7c)
- m0021: usages JSON全量不截断为计费唯一事实源,req_tokens/resp_tokens同源冗余删除, 统计查询走JSON_EXTRACT+JSON_VALID守卫;backup_tables含llm_usage,dmig幂等(列不存在跳过) - m0025: 按项目统计费用,project_id NOT NULL DEFAULT '0'(哨兵=非项目调用,对齐org_id平台约定), idx_llm_usage_project(project_id,created_at);token绑定project_id全链透传落库 - 两迁移id字段与文件名一致性已校验;llm_call_trace新表走create_tables.py动态扫描models建表,无需迁移
This commit is contained in:
parent
e294fc7a6b
commit
220901ff61
13
deploy/migrations/m0021_llm_usage_drop_token_cols.json
Normal file
13
deploy/migrations/m0021_llm_usage_drop_token_cols.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"id": "m0021",
|
||||
"title": "llm_usage 删除 req_tokens/resp_tokens 冗余列(2026-09-10 用户定夺:usages JSON 是计费唯一事实源,token 计数在其中;两列与 usages 同源冗余且曾被截断病根牵连,统计查询改 JSON_EXTRACT)。dmig 幂等守卫:列已不存在自动跳过",
|
||||
"backup_tables": ["llm_usage"],
|
||||
"up": [
|
||||
{"op": "sql", "sql": "ALTER TABLE llm_usage DROP COLUMN req_tokens"},
|
||||
{"op": "sql", "sql": "ALTER TABLE llm_usage DROP COLUMN resp_tokens"}
|
||||
],
|
||||
"down": [
|
||||
{"op": "sql", "sql": "ALTER TABLE llm_usage ADD COLUMN req_tokens INT NOT NULL DEFAULT 0 COMMENT '请求token(历史冗余列,计费看usages)'"},
|
||||
{"op": "sql", "sql": "ALTER TABLE llm_usage ADD COLUMN resp_tokens INT NOT NULL DEFAULT 0 COMMENT '响应token(历史冗余列,计费看usages)'"}
|
||||
]
|
||||
}
|
||||
27
deploy/migrations/m0025_llm_usage_project_id.json
Normal file
27
deploy/migrations/m0025_llm_usage_project_id.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "m0025",
|
||||
"title": "llm_usage 加 project_id 列+索引(2026-09-10 用户定夺:按项目统计费用;非项目调用哨兵值'0'(NOT NULL DEFAULT,对齐org_id '0'平台约定);查询不传project_id=不区分项目。token绑定的project_id沿llm_bridge→token→推理端点→govern_settle全链透传落库)。dmig 幂等守卫:列/索引已存在自动跳过(create_tables.py 也会按 models 自动补列)",
|
||||
"backup_tables": [
|
||||
"llm_usage"
|
||||
],
|
||||
"up": [
|
||||
{
|
||||
"op": "sql",
|
||||
"sql": "ALTER TABLE llm_usage ADD COLUMN project_id VARCHAR(32) NOT NULL DEFAULT '0' COMMENT '项目ID(sd_projects.id;''0''=非项目调用,查询不传=不区分项目)' AFTER ppid"
|
||||
},
|
||||
{
|
||||
"op": "sql",
|
||||
"sql": "CREATE INDEX idx_llm_usage_project ON llm_usage (project_id, created_at)"
|
||||
}
|
||||
],
|
||||
"down": [
|
||||
{
|
||||
"op": "sql",
|
||||
"sql": "DROP INDEX idx_llm_usage_project ON llm_usage"
|
||||
},
|
||||
{
|
||||
"op": "sql",
|
||||
"sql": "ALTER TABLE llm_usage DROP COLUMN project_id"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user