rebuild(migration): validate local legacy cutover

This commit is contained in:
leefer
2026-07-30 17:26:15 +08:00
parent 37bd9fea85
commit 198806c1bd
23 changed files with 418 additions and 27 deletions
@@ -0,0 +1,50 @@
# 本地迁移预检证据
日期:2026-07-30
## 范围
- 新版地址:`http://127.0.0.1:8877`
- 新版数据库:`next/data/local-preflight/xiaobai-normalized-v5.db`
- 旧版`8765`未启动、未占用、未修改。
- 本轮未连接NAS,未执行Docker构建或容器切换。
## 迁移校验
- SQLite integrity`ok`
- schema版本:12
- 用户:3;自选:6;复盘笔记:3;问师消息:28;问天记录:31;策略跟踪:16
- 未映射旧表:0;未映射快照类型:0;外键异常:0
- 情绪快照按真实交易日去重;旧金额单位、涨跌停字段、情绪样本和个人出生信息已转换为新版契约。
## 真实浏览器
- 管理员会员`leefer`:同时显示管理员、会员;后台刷新和系统管理可见。
- 会员非管理员`xiaobai`:仅显示会员;后台刷新和系统管理不可见。
- 普通用户`ceshi`:显示普通用户;后台刷新和系统管理不可见;智能选股、问师、问天和复盘助手保持完整灰态结构。
- 默认数据日期:`2026-07-30`;情绪周期温度34、退潮、20条交易日明细。
- 涨停池56、炸板池23、跌停池83、昨日涨停81;复盘自选6;问师24位思维模型。
- 龙虎榜`2026-07-24`归档:70只上榜股票、244条操作、23位活跃游资。`2026-07-29``2026-07-30`源缓存为空,不冒充解析结果。
- 系统管理任务失败只显示“收盘行情读取失败,已保留原有快照”,不显示内部错误码或元组。
## 分辨率与持久化
- 1920×1080:情绪、轮动、智能选股、问天、复盘、系统管理均整页纵向滚动且无横向溢出。
- 3840×2160:内容区最大宽度2200px,居中且无横向溢出,基础字号不随视口缩放。
- 390×844:侧栏隐藏、底部导航和移动上下文栏显示;表格转卡片;交互控件触控高度不低于44px。
- 停止并重启`8877`后:健康检查通过,管理员会话、默认日期、20行情绪明细、6只自选和系统配置保持。
## 自动质量门
- Ruff:通过
- pytest111项通过
- Vue类型检查:通过
- Vitest7项通过
- Vite生产构建:通过
- Playwright:26项通过;在全新空白测试数据库中重跑,包含注册、权限、16工作区、日夜、390px和4K结构断言。
## 未关闭项
- 4K信息密度和审美仍需用户人工确认。
- Docker/NAS构建、数据卷持久化、回退和正式切换未执行。
- 旧运行时与一次性迁移器在正式切换和回退保留期结束前不清理。
+16 -4
View File
@@ -26,6 +26,17 @@
1. `U04` 已增加4K内容最大宽度、基础字号、Shell高度和无横向溢出断言,仍需最终人工视觉验收信息密度。
2. 第26节逐页状态证据已登记在`page-state-matrix.md`;4K人工视觉单元格在正式切换前保持未关闭。
## 本地迁移预检
本轮按用户确认仅执行本地预检,未连接NAS或Docker。新版使用`127.0.0.1:8877`,旧版`8765`
未被占用或替换。完整证据见`../evidence/local-preflight-2026-07-30.md`
- 旧库只读迁移到独立新版数据库后,SQLite完整性、外键、迁移版本和未映射类型均通过校验。
- 管理员会员、会员非管理员、普通用户三个真实账户已验证双维权限;普通用户智能工具保持完整结构并锁定。
- 情绪、四类股池、天梯、轮动、竞价、题材、热榜、龙虎榜归档、智能选股、问师、问天、复盘和系统管理均读取到迁移后的真实数据。
- 1920×1080、3840×2160和390×844均无页面级横向溢出;移动端侧栏、底部导航、表格卡片化和44px触控目标已直接验证。
- 服务进程停止并重新启动后,会话、默认数据日期、20行情绪明细、6只自选和系统配置均保持一致。
## 已在本轮纠正
- 阶段选股不再在当前阶段无结果时错误回退到第一条运行结果。
@@ -55,12 +66,13 @@
没有补造无法验证的策略元信息。
- 图表夜间加载首帧、主题同步切换、7板布局和观心夜间关键文字对比度均已有浏览器直接断言,不再只依赖截图。
- 16个主工作区、策略跟踪、提醒、复盘助手、账户/会员及系统管理已逐项区分加载、真实空和失败;统一API客户端不会向页面泄露上游错误正文。
- 本轮验证为Ruff、106项pytest、Vue类型检查、7项Vitest、生产构建和26项Playwright全部通过
- 后台任务不再把`AppError`内部元组直接展示到系统管理;历史记录读取时兼容清理,新增失败按用户可读说明入库
- 本轮验证为Ruff、111项pytest、Vue类型检查、7项Vitest、生产构建和26项Playwright全部通过。
## 外部环境阻断项
## 本轮范围外项目
- 当前本机没有可用 Docker 引擎,镜像尚未在真实 Docker 环境构建和启动
- NAS 生产容器尚未切换;持久化重启、健康检查和回退必须在 Docker/NAS验证。
- 按用户确认,本轮不执行Docker和NAS验收;镜像构建、容器启动和生产数据卷验证仍待正式切换阶段执行
- NAS 生产容器尚未切换;容器级持久化重启、健康检查和回退必须在Docker/NAS中另行验证。
- 旧运行时在正式切换前继续保留。切换 NAS 和清理旧实现必须取得用户最终明确确认。
- 旧实现的逐路径清理、数据归档和清理后验收已固化在 `legacy-cleanup-plan.md`
一次性旧库迁移器也将在回退保留期结束后删除,不进入长期维护面。
+2
View File
@@ -15,6 +15,7 @@
- `A账户``test_accounts.py``A行情``test_market_data.py``test_market_insights.py`
- `A智能``test_screener.py``test_mentor.py``test_heaven.py``A私有``test_review.py`
- `A运维``test_operations.py``test_model_pool.py``test_backup_restore.py`及migration测试。
- `L8877`:迁移数据库在本地生产模式`127.0.0.1:8877`的真实账户、真实数据、重启及三档视口预检。
| 页面/能力 | 权限 | 正常数据 | 空/缺失 | 加载/失败 | 持久化 | 日夜 | 1080P/390px | 4K |
|---|---|---|---|---|---|---|---|---|
@@ -38,6 +39,7 @@
## 当前结论
- 权限、正常、空、缺失、加载、失败、持久化、日间、夜间、1080P和390px均已有直接代码或浏览器证据。
- `L8877`已覆盖管理员会员、会员非管理员、普通用户,1920×1080、3840×2160、390×844,以及进程重启后的真实迁移数据保持。
- 市场工作区、智能工具、私有页面、全局弹窗和系统管理不会再把请求中或请求失败伪装成“暂无数据”。
- 4K已自动验证Shell尺寸、内容最大宽度、基础字号和无横向溢出;情绪、股池、系统管理和问师保留直接4K截图。
- 4K“信息密度是否舒适”属于审美判断,仍需正式切换前人工验收,不能由尺寸断言冒充完成。