彭峰 f82356bc3c fix: harden backend migration and verify live launch release 5 dagen geleden
..
README.md f82356bc3c fix: harden backend migration and verify live launch release 5 dagen geleden
online-smoke-pass.txt f82356bc3c fix: harden backend migration and verify live launch release 5 dagen geleden
release-verification.json f82356bc3c fix: harden backend migration and verify live launch release 5 dagen geleden

README.md

配套后端发布与真实数据验证(2026-10-13)

用户追加授权直接发布云函数和数据库迁移;前端仍由用户发布。本次接续 bf7c8b0 的三端审查修复,生产网关回读版本为 2026-10-13-launch-security-v7。

已发布

  • 五个云函数:xiaoshu.app.gateway、xiaoshu.ops.gateway、xiaoshu.ops.gateway.v3、xiaoshu.admin.gateway、xiaoshu.sync.direct-v1。发布后核对实际保存代码;直接同步继续使用旧系统直接接口。
  • 四份 SQL:account-security.sql、payroll-integrity.sql、payroll-cutoff.sql、account-deletion.sql;最终逐一回读 24 个函数体,与当前文件一致。
  • 新增 AccountDeletionRequest、PayrollCutoffApproval、PayrollCutoffDecision,账号凭据字段和密码保护触发器。
  • 迁移前核对没有活动同步/教学/工资写任务;迁移使用数据库事务、同步与工资锁及执行超时。修正旧 SQL 内层 BEGIN/COMMIT,避免迁移部分提前提交。临时操作入口限定当前操作员、十分钟有效期,执行后删除并核对。

发布前云函数、Parse schema、受影响 SQL 定义和相关工资数据备份在本机私有目录 /Users/mac/.local/state/xiaoshu/cloud-releases/2026-10-13-launch-security-v7/,目录 0700、文件 0600。这是针对本次变更的基线备份,不是全库灾备。工资批次、工资行及工资规则迁移前后比较一致。

验证证据

  • 线上隔离账号真实链路 53 项通过:72 位密码、强制改密、旧密码拒绝、旧会话撤销、课程开通、排课、当天上课、并发结课仅扣一次、报告修改/重试/旧版本拒绝、学生评价、余额与流水对账、注销申请与后台处理、退出撤销。详见 online-smoke-pass.txt。
  • 隔离测试账号和业务测试数据已清理;额外回读测试用户、临时函数剩余数均为 0。测试审计轨迹按正常业务保留。没有对真实客户执行结课、改密、扣费或发薪。
  • 服务端完整测试 171 项通过(最终 SQL 性能优化前);优化后迁移/安全/工资针对性测试 28 项通过,0 失败。迁移入口、线上测试脚本及实际 SQL 生成的临时函数均语法检查通过。
  • 线上 action 清单:requested 118、implemented 104、blocked 21、missing 0;这些分类有交集,不能相加当覆盖率。既有关闭功能不因此视为已实现。
  • 前端沿用前一轮本地验证:移动端 209、后台 261 项及双端生产构建通过,浏览器模拟矩阵见前一份报告。本次新增证据是后端真实接口验证,不替代手机/微信 WebView 实机验证。

真实数据与工资状态

来源 业务编号数量 新库匹配
预约(54) 31,254 31,254
上课(59) 19,411 19,411
抗遗忘(60) 200,355 200,355

以上是最近成功直接同步批次的业务编号、投影和校验和核查,不代表本次重新执行全量同步。汇总及校验和见 release-verification.json。

十月工资总览回读为 28 名陪练、206 次课程、工资异常 0 条。但截止来源还有 674 条待核对差异,截止确认尚未批准,settlementReady=false。这是独立的来源冲突保护,不能把工资异常为 0 当作可以直接审核发放。应在后台逐条核对并留依据;本次未代替运营批准冲突。

真实查询暴露工资总览约 30.6 秒,超过客户端 20 秒超时。修复 SQL 关联字段转文本导致的低效查询,使用原生完整行计算变更指纹,并复用一次来源版本结果。最终完整请求两次为 14,582 / 14,915 ms;所有字段变更检测和业务保护保留。只有两次抽测,不是 p75 或高并发性能承诺。

前端上线交接

  1. 本报告所列数据库和云函数已完成发布,无需重复迁移;先核对 migration_status 返回上述版本。
  2. 从当前交付代码执行 npm ci && npm run verify:local,发布 dist/xiaoshu-mobile/browser 和 dist/xiaoshu-admin/browser。本次没有发布这两个前端目录。
  3. 配置正式 HTTPS 域名、代理/CORS、SPA 回退及缓存;实机核对登录、音频、学习、报告和后台操作。
  4. 既有账号若密码迁移历史不明,默认不允许旧密码覆盖;确有登录问题时由管理员重置,不批量开放回退。
  5. 原 Mac 定时任务本次未重新安装。若要启用上一轮新增告警模块,按本地修复报告的运行器安装步骤处理,并核对自然 23 点触发回执。

更早的本地修复报告中“云函数和 SQL 未发布”描述是当时验收边界,当前后端发布状态以本报告为准。回滚需要使用兼容的配套版本并重新检查凭据、会话及工资保护,不能单独撤除安全触发器。