Files
GarminHealthLab/backend
ericwyuan 617c8325a6 fix(analysis): refill_backlog 活动查询去掉 CAST(... AS TEXT)
MariaDB 不支持 CAST 到 TEXT(仅 SQLite 支持),导致该语句在 prepare 阶段
直接 1064,activity 分支每次 idle 循环都报错刷屏——且无论 backlog 是否有
数据都会失败(语法错误先于执行)。activities.id 本身是 VARCHAR(64),
ai_jobs/ai_insights.subject 是 VARCHAR(96),两侧同类型,CAST 本就不必要。
改为直接比较 ai.subject = a.id / aj.subject = a.id,双后端(SQLite/MariaDB)
语义一致。

已在生产 MariaDB 上只读验证两段 SQL 均正常执行(daily-backlog=0,
activity-backlog=0),本地 analysis/ai/coach 测试全绿。
2026-09-02 20:18:40 +08:00
..