From c7362ee759916567b7ed292e5f94738dac488f35 Mon Sep 17 00:00:00 2001 From: smail Date: Sun, 4 Oct 2026 05:52:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=BD=95=E5=85=AD=E5=90=91=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=BF=81=E7=A7=BB=E4=B8=8E=E6=9C=80=E7=BB=88?= =?UTF-8?q?=E5=8D=95=E5=BA=93=E6=94=B6=E4=BF=A1=E9=AA=8C=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/云端全项目测试报告.md | 22 ++++++++++++++++++++++ docs/生产整改验收清单.md | 11 +++++++++++ 2 files changed, 33 insertions(+) diff --git a/docs/云端全项目测试报告.md b/docs/云端全项目测试报告.md index 04705b4..62937f2 100644 --- a/docs/云端全项目测试报告.md +++ b/docs/云端全项目测试报告.md @@ -1,5 +1,27 @@ # 云端全项目测试报告 +## 六向迁移与最终 SQLite 收信接续补录(2026-10-04 05:50) + +本节依据同轮前段浏览器及交互 SSH 记录补录,不代表重新执行;下方历史的当前状态以较新记录为准。 + +- [x] 排序修复 `61b361a` 已推送并部署为 `review-20261004-61b361a`,网页按投递时间、邮件编号倒序,POP3 与 IMAP 原次序不变。三个 Go 程序构建完成,主站前端沿用未变源码产物;新增回归用例未执行,不计为自动化测试通过。发布包摘要为 `3e5b78832ea2e1288d03be64f26c7101e343f7e69782e9a20f3a1863e8522f2b`。 +- [x] 管理员发件箱实机顺序为 04:58、04:22、03:54、03:12、02:13、02:07,后续 PostgreSQL 阶段仍保持。合法同组编辑保存成功,普通用户看到新名称后自行恢复“测试普通用户”,管理员刷新核对恢复;未改密码、角色、分组或通知凭据。 +- [!] 超过十个字符的名称仅提示“参数错误”,缺乏清楚的长度提示;属于可用性待整改,不把合法同组编辑误记为失败。 + +| 已执行方向 | 目标 | 页面任务 | 重启后运行证据 | +| --- | --- | --- | --- | +| SQLite → PostgreSQL | `smailreverse20261004` | `dbmig-ff3be0e59b61be04dfe0ee876f901a86` | 主进程 2021290,05:30:35 启动,实际连接目标且使用 TLSv1.3 | +| PostgreSQL → MySQL | `smailreverse20261004` | `dbmig-f8fa1ed8a2764864f8c88f9a7d3bfbeb` | 主进程 2021476,05:35:47 启动,实际连接目标 | +| MySQL → SQLite | `data/smailreverse20261004.db` | `dbmig-a47147e6b123219c8a1eb26030b2640e` | 主进程 2021557,05:40:27 启动,匹配业务数据库文件描述符仅此 SQLite | + +- [x] 三条迁移均通过浏览器预览、执行、二次确认,页面最终显示已完成;预览前后目标尚不存在,执行后才创建。近期登录失效时正常退出并重新登录,没有绕过认证。 +- [x] PostgreSQL 无建库权限时,预览准确拒绝;仅临时授予 `smail` 建库权限,迁移完成后立即撤销。最终角色无超级用户、无建库权限。MySQL 仅授予本轮精确目标库权限,离开该库后已撤销两个本机来源账号的本轮新增授权,没有授予全局权限。 +- [x] 最终 SQLite 主进程自动重启数为零,MySQL、PostgreSQL 均无 `smail` 活动连接。历史数据库、旧授权及发布产物尚未清理;不能把单业务库运行写成没有历史遗留。 +- [x] 加上前段 SQLite → MySQL → PostgreSQL → SQLite,六个跨类型迁移方向均有完成记录;这不等于三数据库全功能、全部权限或附件完整性验收通过。反向 PostgreSQL 阶段只重登超管,管理员和普通用户为刷新原会话;反向 MySQL 阶段未独立复验两角色或发送新邮件。 +- [x] 最终 SQLite 上超管通过网页发送“六向迁移完成后收信验收-20261004-0543”,管理员副本 59、普通用户副本 60 均已打开,完整中文正文、双收件人及 05:45 时间正常。本记录时尚未完成该邮件双角色回复及超管读取,不预记闭环通过。 +- [✓] 用户再次确认“下载的附件正常保存”;只保留原人工下载确认范围,不扩大为跨库附件摘要一致、批量附件或全部格式通过。05:49 接续仅重新确认 Smail、Nginx active 和原有八个浏览器页面,未清库或新建浏览器实例。 +- [!] 三库全功能、图形邮件客户端、通知 SMTP 只发不收及撤权配额、外部安全邮箱、Telegram、本机恢复、完整续期与最终全新部署仍未闭合;整体不放行。 + ## 迁移目录提示与旧回复草稿发送补录(2026-10-04 05:10) - [x] 根据前段连续验收记录补录:提交 `62f65e3` 修正迁移目标文件目录提示为运行根目录下的 `data`,已构建部署版本 `review-20261004-62f65e3`。前端与三个 Go 程序构建成功;新增回归用例源码未执行,不计为自动化测试通过。 diff --git a/docs/生产整改验收清单.md b/docs/生产整改验收清单.md index c671dc6..609744f 100644 --- a/docs/生产整改验收清单.md +++ b/docs/生产整改验收清单.md @@ -1,5 +1,16 @@ # 生产整改验收清单 +## 六向迁移与最终 SQLite 收信补录(2026 年 10 月 4 日 05:50) + +- [x] 接续补录前段排序修复 `61b361a` 已构建部署,网页投递时间顺序实机正常,后续 PostgreSQL 上仍保持;协议原次序未改,回归源码未执行。 +- [x] 合法同组编辑已保存,普通用户读取新名称后自行恢复,管理员核对恢复;超过十个字符名称的泛化错误提示仍待整改。 +- [x] SQLite → PostgreSQL、PostgreSQL → MySQL、MySQL → SQLite 三条反向迁移已由页面完成,任务及运行证据见云端全项目测试报告。六个跨类型迁移方向已有执行记录,不再重复迁移凑进度。 +- [x] 本轮 PostgreSQL 临时建库权限、MySQL 精确目标库新增权限均已撤销;没有全局授权。最终主进程 2021557、05:40:27 启动、自动重启零,运行单库 `/opt/smail/data/smailreverse20261004.db`,两种服务端数据库均无 `smail` 活动连接。历史遗留仍待最终清理。 +- [x] 超管新邮件由管理员副本 59、普通用户副本 60 实际阅读,正文、双收件人及 05:45 时间正常;尚未记为此邮件双向回复闭环通过。 +- [✓] 用户人工确认附件下载正常保存,保持原证据范围,不扩为跨库附件完整性通过;接续服务正常,复用原浏览器,不清库、不删文件、不操作其他项目。 +- [~] 最终 SQLite 双角色回复及超管阅读继续执行;三库全功能仍单独保留,不以六向迁移替代。 +- [!] 图形客户端、通知 SMTP 协议及配额、三个外部邮箱、Telegram、本机恢复、完整续期、最终全新安装与仅限 Smail 遗留清理未闭合,整体不放行。 + ## 迁移提示与回复草稿发送补录(2026 年 10 月 4 日 05:10) - [x] 补录前段 `62f65e3` 已构建部署、页面实际显示迁移目标目录 `data`;现有回归用例仅补充源码,未执行自动化测试。覆盖下方历史“目录提示仍未修正”状态。