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