记录PostgreSQL迁移后双角色收发与附件保留实机复验
Some checks are pending
Security Checks / security (push) Waiting to run

This commit is contained in:
smail 2026-10-04 04:00:03 +08:00
parent e97a8caade
commit e37249611b
2 changed files with 41 additions and 0 deletions

View File

@ -1,5 +1,34 @@
# 云端全项目测试报告
## PostgreSQL 迁移后双角色收发复验(2026-10-04 03:58)
### 前段接续证据补录
以下修复、部署及迁移依据本次连续验收的前段执行记录补录,本节没有再次部署或执行迁移:
- [x] 检查点 `c1f064b`、修复 `e97a8ca` 已推送。PostgreSQL 目标库不存在时只读预检建库权限;权限不足返回明确提示并禁用执行。实际建库仍处理权限变更竞态,新增 PostgreSQL、MySQL 建库错误分类。修复范围为 portable 迁移路径,不扩大为旧 SQLCopier 路径全部覆盖。
- [x] 已补充权限拒绝、允许、目标存在、查询失败、预检后撤权及错误映射回归用例源码;仅编译 dbmigration、controllers 测试程序,没有运行自动化测试。
- [x] 发布版本 `review-20261004-e97a8ca`,本机及云端发布包摘要一致:`9c8e64b9f22ad33ff75914004fefba745ada7b0b8bbbb742965dc6a482bc094f`。只替换三个程序,不覆盖配置、证书或业务数据库。
- [x] 原迁移权限失败后,MySQL 仍可发送新邮件,管理员副本 42 时间 03:31;其实际正文为引用内容,不将未写入的预期新正文标识列为通过。修复后无建库权限的页面预览准确拒绝,目标库未创建。
- [x] 临时授予 Smail PostgreSQL 角色建库权限后,浏览器完成 MySQL 至 PostgreSQL 迁移,任务 `dbmig-ce285748c7a76dde01461c3080bbd9cd`。随后撤销建库权限,仅重启 Smail,03:41:48 启动新库运行。
- [x] 补录 MySQL 阶段管理员 03:12 回复副本 38、普通用户 03:13 回复副本 40,超管已阅读。本轮 PostgreSQL 收件列表仍显示两封回复及原引用时间,不冒充为再次在 MySQL 上执行。
### 本节直接实机证据
- [✓] 用户人工确认下载的附件正常保存;保留其原验收范围,不扩展为迁移后重新下载、文件摘要一致、大附件或多附件通过。
- [✓] 超管通过浏览器发送《PostgreSQL迁移后双角色收信验收-20261004-0344》,实际发送时间为 03:49。两个收件人为管理员、普通用户,正文标识 `PG-MIGRATION-20261004-0344`;超管发件箱最终显示发送成功。
- [✓] 管理员、普通用户页面分别忽略缓存刷新,身份保留。管理员副本 44、普通用户副本 45 均打开,完整中文正文、两名收件人及 `2026年10月4日 03:49` 一致。本项是原会话保留,不等同于重新输入密码登录通过。
- [✓] 普通用户、管理员通过页面回复,超管分别打开副本 47、49,时间为 03:53、03:54;正文标识 `PG-USER-REPLY-20261004`、`PG-ADMIN-REPLY-20261004` 均实际出现,原文与引用时间 `2026-10-04 03:49:22` 完整保留。
- [✓] 超管历史附件副本 24 忽略缓存刷新后,完整正文、两名收件人、`2026年10月4日 00:56` 及一张 JPG 下载入口仍保留。本节未点击下载,不宣称 PostgreSQL 上附件落盘已复验。
- [✓] 交互 SSH 只读核实 Smail、Nginx active;Smail 主进程 `2019966`、自动重启零、启动时间仍为 03:41:48。PostgreSQL 活动连接使用 `smailmig20261004`、账号 `smail`,两条连接均为 TLS;角色超级用户和建库权限均为 false。
- [✓] 本节业务操作仅使用浏览器键鼠;没有调用业务 API、注入脚本、运行自动化业务测试、清库、重启、重新部署或操作其他项目。只更新两份现有验收文档,不新增辅助文件。
### 当前范围与后续门槛
- [~] 当前运行数据库为 PostgreSQL `smailmig20261004`,覆盖前文 MySQL 运行状态。已核实三角色本站网页收发阅读闭环,不扩大为三库全部功能、所有迁移方向或外网投递通过。
- [ ] PostgreSQL 重新登录与全套权限、历史附件重新下载、三库往返、外部安全邮箱、Telegram、图形邮件客户端与通知 SMTP 权限、受保护本机恢复、完整续期场景仍待验收。25 端口按授权可略过,但不得计为通过。
- [ ] 源 SQLite、历史 MySQL 验收库、迁移内部备份及测试包尚未执行最终清理;最终全新安装与仅 Smail 遗留清理仍未完成,整体不作生产放行结论。
## 跨库迁移时区修复与 MySQL 浏览器复验(2026-10-04 03:08)
### 迁移接续记录

View File

@ -1,5 +1,17 @@
# 生产整改验收清单
## PostgreSQL 迁移与网页收发复审(2026 年 10 月 4 日 03:58)
- [x] 补录前段修复 `e97a8ca`:迁移建库权限只读预检及准确错误提示已部署,回归用例仅编译,未运行。无权限预览拒绝及迁移记录见云端全项目测试报告。
- [x] 补录 MySQL 至 PostgreSQL 页面迁移任务 `dbmig-ce285748c7a76dde01461c3080bbd9cd`;迁移后撤销临时建库权限并仅重启 Smail。本节未再次执行迁移。
- [✓] 本节只读核实运行账号 `smail` 无超级用户、无建库权限,当前连接 PostgreSQL `smailmig20261004` 且使用 TLS;主进程 `2019966`、自动重启零,Smail、Nginx active。
- [✓] PostgreSQL 上超管双收件人发送成功;管理员副本 44、普通用户副本 45 均读取完整中文正文及 03:49 时间。两角色刷新后原登录会话保留,尚未重新登录。
- [✓] 普通用户、管理员通过页面回复,超管分别读取副本 47、49,新增正文标识、原文及引用时间 `2026-10-04 03:49:22` 完整保留。
- [✓] 历史附件副本 24 在 PostgreSQL 页面刷新后保留正文、00:56 时间及一张 JPG 下载入口;用户人工确认的下载正常保存沿用原范围,本节没有重新下载,不计为跨库下载复验。
- [~] 三角色当前数据库网页收发阅读闭环已复审;三库往返、重新登录与全套权限、跨库附件下载仍未闭合。
- [ ] 外部安全邮箱、Telegram、图形邮件客户端及通知 SMTP 权限、受保护本机恢复、完整续期场景、最终全新安装与仅 Smail 遗留清理仍待完成;整体不放行。
- [✓] 本节未修改应用源码、未清库、未重启或部署,未创建辅助文件;仅更新现有验收文档。
## MySQL 迁移时区修复复审(2026 年 10 月 4 日 03:08)
- [✓] 连续验收已由 SQLite 经页面迁移至 MySQL `smailmig20261004`;最近登录要求、目标已有库拒绝和预览不提前建库的证据已补录到云端报告。