2.9 KiB
2.9 KiB
馆主介绍服务端发布记录
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,再重启。数据库新增字段应保留,避免删除上线后编辑的馆主内容;数据库整库备份仅用于灾难恢复,不应覆盖上线后的新数据。
本次未上传或发布微信小程序。首页“馆主介绍”和后台编辑界面需在新版小程序发布后使用。