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

43 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 馆主介绍服务端发布记录
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,再重启。数据库新增字段应保留,避免删除上线后编辑的馆主内容;数据库整库备份仅用于灾难恢复,不应覆盖上线后的新数据。
本次未上传或发布微信小程序。首页“馆主介绍”和后台编辑界面需在新版小程序发布后使用。