返回 Bug 清单
BUG-1395project-02中已修复database-schema
bk_tasks 缺 due_date/task_type/completed_at/updated_at — PUT 更新 500
发现:2026-10-17验证:2026-10-17置信度:90%
症状
PUT /api/bk/tasks/{id} 返回 500, 任务状态不能更新 (不能标记完成/领取/改详情).
根因
bk_tasks_api.py PUT handler (L182-209) 定义了 allowed = {'status','assignee_id','priority','description','due_date','title','task_type'}, L195-196 在 status=completed 时自动 set completed_at=NOW(). 但 bk_tasks 表 migration 030 只建了 9 列 (id/title/description/book_id/assignee_id/status/priority/created_at/client_id), 缺 due_date / task_type / completed_at / updated_at. 用户点"标记完成"或"更新任务"时 UndefinedColumn → 500.
修复方案
生产 ALTER TABLE bk_tasks ADD COLUMN IF NOT EXISTS due_date DATE / task_type VARCHAR(30) DEFAULT 'general' / completed_at TIMESTAMP / updated_at TIMESTAMP DEFAULT NOW(); UPDATE bk_tasks SET due_date='2026-10-31' WHERE due_date IS NULL. Migration 051 入库, 纯 ALTER 无需 docker restart.
错误签名
UndefinedColumn: column "completed_at" does not exist at bk_tasks_api.py:196 SET completed_at = NOW()技术信息
来源项目
project-02
涉及文件
database/migrations/051_bk_tasks_columns.sql
标签
project-02, mcp-reported, source-agent