返回 Bug 清单
BUG-1180project-12中已修复database-schema

Alembic migration 上线前 git_sweep 入库 363 条 → guardrail_rules 列不存在被 ORM 静默丢弃

发现:2026-10-09验证:2026-10-09置信度:70%

症状

批量 git_sweep 入库 363 条,每条 payload 都带 1-N 条 guardrail_rules(git_sweep.py 按 fix_type 模板生成),但生产 API 返回全是空数组;BUG-1179 (migration 后入的) 同路径直接 POST 存住 3 条

根因

guardrail_rules alembic migration (h1a4c7e9b3f2) 今天 10-09 才上线;git_sweep 批量入库 363 条发生在 10-07 ~ 10-08;后端 ORM model 有 guardrail_rules 字段但 DB 列不存在 → SQL INSERT 时 ORM 静默忽略该列 → payload 里有值但存不进去

修复方案

① 紧急:补 BugUpdate schema 加 guardrail_rules 字段 + editor role PATCH 端点;② 中程:写 backfill 脚本按 fix_type 模板重生成 guardrail_rules 批量回填;③ 护栏:migration 上线后才能跑批量入库脚本,或脚本前加 ALTER TABLE 预检

错误签名

生产库 440 条 guardrail_rules 全是空 [];h1a4c7e9b3f2 migration 上线前入库的条目列不存在

技术信息

来源项目

project-12

涉及文件

backend/app/schemas/bug.py, backend/app/api/v1/bugs.py, backend/alembic/versions/h1a4c7e9b3f2_guardrail_rules_column.py

标签

project-12, mcp-reported, source-agent