syb_sync_run
Cause
保持普通用户看到的提示简单,不泄露 SQL、凭据、Cookie、Token 或外部响应;同时让开发维护者能通过稳定错误码与服务端日志定位根因。
SYNC_SHOP_PREFLIGHT_FAILED
SYNC_RUN_CREATE_FAILED
shop_preflight
sync_run_create
go test ./app/goauto/sybimport
scripts/verify.ps1 -Component server
git diff --check
python dev_scripts/harness.py check --strict
python dev_scripts/harness.py sync --check
32edb91a31dcd4d4ed8374b6f6efc8944a92288f
8506167d120ed2e80de7e1953629185e1a6271e5
重启服务端后再次发起一次 SYB 同步:成功时流程不变;若仍在任务创建前失败,页面仍显示通俗提示,浏览器响应中的 code 和服务端日志阶段即可准确区分根因。
code
工单保持开启,等待用户验收。
用户重启新版服务后再次同步,#52 日志准确记录:
stage=sync_run_create cause=Error 1054 (42S22): Unknown column 'created' in 'field list'
只读核对确认:当前 SYBSyncRun.Created / Updated 被 GORM 默认映射为 created / updated,而本机既有 MySQL 表使用 created_count / updated_count。SQLite 测试从当前模型自动建表,未暴露既有 MySQL 表结构漂移。
SYBSyncRun.Created
Updated
created
updated
created_count
updated_count
用户确认按最小方案修复:
column:created_count
column:updated_count
新版诊断日志确认创建 syb_sync_run 时 MySQL 返回 Error 1054: Unknown column 'created' in 'field list'。模型默认列名 created / updated 与既有 MySQL 表 created_count / updated_count 不一致。
Error 1054: Unknown column 'created' in 'field list'
SYBSyncRun.Updated
DBName
go test ./app/goauto/migrations ./app/goauto/sybimport
提交:903280fadac32a24e394713546f20a0b080bac53
903280fadac32a24e394713546f20a0b080bac53
文档影响:仅修正内部 ORM 与既有数据库列的映射,不改变业务规则或 API,无需再次更新 Wiki。
请重启服务端后重新发起一次 SYB 同步验收;工单继续保持开启。
??? 2026-08-20 ???????????:Task-52-SYB-sync-diagnostics;Wiki revision:a627417c412e44fbc6b0816f15395e131760522f??????
No dependencies set.
The note is not visible to the blocked user.
基本信息
现象与证据
syb_sync_run失败记录,证明失败发生在后台任务创建之前。Cause:响应仅返回通用提示,预创建失败也没有同步记录,无法事后区分店铺预检查询失败和运行记录创建失败。目标
保持普通用户看到的提示简单,不泄露 SQL、凭据、Cookie、Token 或外部响应;同时让开发维护者能通过稳定错误码与服务端日志定位根因。
方案
SYNC_SHOP_PREFLIGHT_FAILED,用户提示仍为“服务端处理失败”,服务端记录阶段名与底层错误。syb_sync_run失败且不是“已有任务运行”业务冲突:返回稳定错误码SYNC_RUN_CREATE_FAILED,用户提示仍为“服务端处理失败”,服务端记录阶段名与底层错误。验收标准
风险与文档影响
实施完成,等待验收
实现
SYNC_SHOP_PREFLIGHT_FAILED,HTTP 500,用户提示保持“服务端处理失败”。SYNC_RUN_CREATE_FAILED,HTTP 500;“已有任务运行”等业务错误保持原行为。shop_preflight/sync_run_create与安全错误原因。验证
go test ./app/goauto/sybimport:通过。scripts/verify.ps1 -Component server:全量 Go 测试与构建通过。git diff --check:通过。python dev_scripts/harness.py check --strict:通过。python dev_scripts/harness.py sync --check:Wiki 与核心镜像一致。提交与文档
32edb91a31dcd4d4ed8374b6f6efc8944a92288f8506167d120ed2e80de7e1953629185e1a6271e5验收方式
重启服务端后再次发起一次 SYB 同步:成功时流程不变;若仍在任务创建前失败,页面仍显示通俗提示,浏览器响应中的
code和服务端日志阶段即可准确区分根因。工单保持开启,等待用户验收。
复现后的根因与追加修复范围
用户重启新版服务后再次同步,#52 日志准确记录:
stage=sync_run_create cause=Error 1054 (42S22): Unknown column 'created' in 'field list'只读核对确认:当前
SYBSyncRun.Created/Updated被 GORM 默认映射为created/updated,而本机既有 MySQL 表使用created_count/updated_count。SQLite 测试从当前模型自动建表,未暴露既有 MySQL 表结构漂移。用户确认按最小方案修复:
column:created_count/column:updated_count显式映射。根因修复完成,等待再次验收
根因
新版诊断日志确认创建
syb_sync_run时 MySQL 返回Error 1054: Unknown column 'created' in 'field list'。模型默认列名created/updated与既有 MySQL 表created_count/updated_count不一致。最小修复
SYBSyncRun.Created显式映射created_count。SYBSyncRun.Updated显式映射updated_count。DBName。验证
go test ./app/goauto/migrations ./app/goauto/sybimport:通过。scripts/verify.ps1 -Component server:全量 Go 测试与构建通过。git diff --check:通过。提交:
903280fadac32a24e394713546f20a0b080bac53文档影响:仅修正内部 ORM 与既有数据库列的映射,不改变业务规则或 API,无需再次更新 Wiki。
请重启服务端后重新发起一次 SYB 同步验收;工单继续保持开启。
??? 2026-08-20 ???????????:Task-52-SYB-sync-diagnostics;Wiki revision:a627417c412e44fbc6b0816f15395e131760522f??????