Files
mp-pilates/docs/owner-release-2026-10-25.md
2026-10-25 21:15:15 +08:00

2.9 KiB
Raw Blame History

馆主介绍服务端发布记录

2026-10-25 完成馆主介绍的生产数据库迁移与服务器发布。

发布内容

  • 对应代码:4ca32c2(feat: 支持馆主个人信息编辑)。
  • 发布包 SHA-256:39e3cc79bf1adfd2ff423f3ee1147420ba9fcbde4be514250e6742c28bc34369,上传前后校验一致。
  • 本地重新生成 Prisma Client,shared 和 server 构建通过;实现阶段的 36 个测试套件、584 项测试全部通过。
  • 沿用 Node 22.16.0、Prisma 5.22.0、现有生产依赖、环境配置和 PM2 mp-pilates-server。
  • 已更新 server/shared 构建产物、公开静态资源、Prisma schema 和迁移文件;运行文件与暂存发布包校验一致。

数据库迁移

  • 15 个历史迁移的校验值全部与生产迁移记录匹配。
  • 迁移 SQL 已在生产连接的临时表上预演通过。
  • 成功应用 20261025090000_owner_introduction,新增 studio_config.owner_introduction(TEXT,可空)和 owner_certifications(JSON,可空)。
  • prisma migrate status 确认全部 16 个迁移完成、数据库为最新状态,无未解决的失败迁移。
  • 1 条原有场馆记录的全部原始字段摘要与发布前一致;新增字段为 NULL,由服务端返回原有介绍与 5 项认证。
  • 环境配置文件摘要与发布前一致。

线上验证

  • 内网及公网 HTTPS /api/health、/api/studio/info 均返回 200,介绍与认证初始内容正确。
  • 匿名更新返回 401,会员更新返回 403。
  • 管理员的介绍超长、NULL 介绍、认证类型错误、NULL 认证、认证条目超长、条目数量超限共 6 项校验均返回 400。
  • 真实 MySQL 事务验证中文、多段介绍及认证顺序的存取,随后主动回滚;确认原始数据未变、新字段仍为 NULL,没有留下测试内容。
  • 发布后进程持续在线、异常重启次数为 0;最终检查时进程已运行约 103 秒,最近 10 分钟 HTTP 5xx 数为 0。

备份与回退

资料仅保存在服务器私有目录 /usr/local/web/releases/owner-20261025/:

  • database-before.sql.gz:发布前完整数据库逻辑备份,gzip 完整性检查通过。
  • previous-build.tgz、prisma-client-before/:旧 server/shared 构建、公开资源、schema、迁移及原生 Prisma Client。
  • release.tgz、stage/:本次发布包与暂存文件。
  • baseline.json、verification.json:数据摘要及发布后验证结果,不保存访问令牌。
  • migration.log、generate.log、stop.log、restart.log:迁移与服务切换记录。

如需应用回退,应停止进程并恢复旧运行文件与 Prisma Client,再重启。数据库新增字段应保留,避免删除上线后编辑的馆主内容;数据库整库备份仅用于灾难恢复,不应覆盖上线后的新数据。

本次未上传或发布微信小程序。首页“馆主介绍”和后台编辑界面需在新版小程序发布后使用。