mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-01 17:00:21 +08:00
fix(data): 同步模型调用次数至 global_models 读模型
- 模型列表改为读取 global_models.usage_count,避免每次扫描 usage 明细表 - 通过历史 backfill 与 usage upsert delta 维护该读模型 - 详情页保留实时 facts 兜底,统一排除 pending/streaming 状态
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
WITH aggregated AS (
|
||||
SELECT
|
||||
usage.model,
|
||||
COUNT(*)::BIGINT AS usage_count
|
||||
FROM usage_billing_facts AS usage
|
||||
WHERE usage.model IS NOT NULL
|
||||
AND BTRIM(usage.model) <> ''
|
||||
AND usage.status NOT IN ('pending', 'streaming')
|
||||
GROUP BY usage.model
|
||||
),
|
||||
refreshed AS (
|
||||
SELECT
|
||||
gm.id,
|
||||
COALESCE(aggregated.usage_count, 0)::BIGINT AS usage_count
|
||||
FROM global_models AS gm
|
||||
LEFT JOIN aggregated
|
||||
ON aggregated.model = gm.name
|
||||
)
|
||||
UPDATE global_models AS gm
|
||||
SET
|
||||
usage_count = refreshed.usage_count,
|
||||
updated_at = NOW()
|
||||
FROM refreshed
|
||||
WHERE gm.id = refreshed.id
|
||||
AND COALESCE(gm.usage_count, 0) <> refreshed.usage_count;
|
||||
Reference in New Issue
Block a user