Files
xiaobaifupan/next/docs/final/cutover-checklist.md
T

47 lines
2.9 KiB
Markdown

# NAS切换清单(已作废,禁止执行)
> `next/`已被用户否决,本清单不再具备切换效力。权威冻结决定见
> `../../../docs/migration/next失败冻结记录.md`。
此清单是最终人工确认前的准备资产,不授权当前任务停止或替换正式容器。
## 切换前阻断项
- [ ] NAS或预发布机实际执行`docker compose config``docker compose build`
- [ ] 验证容器以非root、只读根文件系统启动,`/app/data`可写,健康检查稳定。
- [ ] 验证容器重启后账号、行情、自选、复盘、会员、模型、问天和选股记录不丢失。
- [ ] 在NAS受控目录完成数据库、环境密钥和私有Skill整套备份,并做一次独立恢复。
- [ ] 保持`APP_PUBLISH_PORT=8876`启动新容器,完成真实数据的日间/夜间、1080P/4K/390px抽验。
- [ ] 记录实际`APP_IMAGE`标签,确认该标签可在不重新构建的情况下用于回退演练。
- [ ] 用户明确确认最终切换窗口。
不使用 SSH 的 NAS 按 [Portainer 网页端预检](../portainer-preflight.md)完成以上 Docker 阻断项。
## 切换步骤
1. 记录旧镜像、容器配置、端口和旧数据库校验和,创建最终一致性备份。
2. 暂停旧系统写入,不删除旧容器和数据卷。
3. 对最终只读旧库运行`tools.legacy_migration`到全新目标,核对报告和外键完整性。
4. 用固定`APP_ENCRYPTION_KEY`和新数据卷启动新容器临时端口。
5. 抽验真实账号登录、共享快照、私有记录、会员/模型、问天、选股和LLM一次成功调用。
6. 切换反向代理或宿主端口;观察健康、5xx、数据库写入和后台任务至少一个完整刷新周期。
7. 只有观察期通过后才归档旧容器;旧数据库和旧镜像按回退周期保留。
旧实现的精确保留、删除和验收边界见 [旧实现清理方案](legacy-cleanup-plan.md)。正式切换确认
不自动授权删除旧实现,清理仍需单独确认。
## 回退条件与动作
出现登录失败、私有数据错绑、数据库完整性失败、关键行情不可读、后台任务持续失败或无法恢复的5xx时立即回退。
1. 停止新容器写入并保存故障数据库副本和日志。
2. 将流量切回旧容器;不要对新数据库自动执行migration降级。
3. 若需用旧镜像读取新时期数据,只能恢复升级前与旧镜像匹配的整套备份。
4. 修复后重新从最新只读旧库执行迁移,不在失败目标库上手工改表。
## 当前状态
代码、真实旧库副本迁移、备份恢复、SPA生产形态、性能、安全和全量浏览器回归均已完成。
本机已对真实v7迁移库完成在线备份、全新目录恢复、独立生产进程启动和重启持久化抽验;源库与恢复库的关键表计数一致。
本机没有Docker,以上6个容器切换前阻断项仍需在NAS/预发布环境执行;正式容器保持不变,非容器演练不得作为Docker验收证据。