From bb7e7979ae5d17aaf27894761d214acf448cc12e Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Tue, 15 Sep 2026 09:29:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(memory):=20SceneStats=20=E7=9A=84=20strengt?= =?UTF-8?q?h/features=20=E4=B8=8D=E5=86=8D=E8=AF=B4=E8=B0=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 旧行经 ALTER 加列后 strength 为 NULL,直接 SELECT 会显示成 0(实际是 1 次); 改为 COALESCE(strength,1),并补上 features 计数(场景长出了几个特征)。 - 两栏一起看才能判断「场景是不是真在涌现」,而不是被一次性写出来的。 --- internal/memory/scene.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/memory/scene.go b/internal/memory/scene.go index bcc7b02..ab564f6 100644 --- a/internal/memory/scene.go +++ b/internal/memory/scene.go @@ -475,6 +475,8 @@ func (g *GraphDB) SceneStats() ([]SceneStat, error) { COUNT(sr.id), SUM(CASE WHEN sr.kind = 'relation' THEN 1 ELSE 0 END), SUM(CASE WHEN sr.kind = 'entity' THEN 1 ELSE 0 END), + COALESCE(s.strength, 1), + (SELECT COUNT(*) FROM scene_features f WHERE f.scene_id = s.id), s.updated_at FROM scenes s LEFT JOIN scene_refs sr ON sr.scene_id = s.id GROUP BY s.id ORDER BY COUNT(sr.id) DESC, s.key`) @@ -487,7 +489,7 @@ func (g *GraphDB) SceneStats() ([]SceneStat, error) { for rows.Next() { var st SceneStat var rels, ents sql.NullInt64 - if err := rows.Scan(&st.Key, &st.Refs, &rels, &ents, &st.UpdatedAt); err != nil { + if err := rows.Scan(&st.Key, &st.Refs, &rels, &ents, &st.Strength, &st.Features, &st.UpdatedAt); err != nil { return nil, err } st.Relations = int(rels.Int64)