feat: build legacy practice navigation

This commit is contained in:
Codex
2026-06-30 12:47:27 +08:00
parent fce5513464
commit d005f65fe7
12 changed files with 2460 additions and 11 deletions

View File

@@ -439,7 +439,7 @@ dry-run 会检查导出目录、JSON 形态、核心集合缺失、重复/缺失
默认 dry-run 使用 `development` profile正式迁移、预生产验收和 CI 应使用 `production` profile。生产 profile 会额外输出 `migrationReadiness`,检查用户、题目、科目、分类、订单、套餐、激活码、单词和知识手册等必需集合,以及用户手机号、题目归属、订单套餐、激活码、单词和手册归属等关键字段覆盖率。`--profile` 只接受 `development``production`,拼写错误会按 blocker 失败。
当前真实 SQLite 基线已经跑通只读导出和干净库全量导入58 个业务 collection、248555 条记录、9 个 storage 原始资源文件;本地 `npx supabase db reset` 后执行 `npm run pb:import:json` 用时约 858 秒,`npm run pb:import:validate` 结果为 0 failures、3 warnings。`user_answer_records``mock_exam_configs``referral_qrcodes``commission_settings` 已进入标准化导入,导入后核心计数包括 3670 用户、74102 题目、85199 条旧答题记录、38205 条错题、636 订单、447 权益、48 个模考蓝图、79 个推广码和 1 条租户分佣设置。
当前真实 SQLite 基线已经跑通只读导出和干净库全量导入58 个业务 collection、248555 条记录、9 个 storage 原始资源文件;本地 `npx supabase db reset` 后执行 `npm run pb:import:json` 最近用时约 1011 秒,`npm run pb:import:validate` 结果为 0 failures、3 warnings。`user_answer_records``mock_exam_configs``referral_qrcodes``commission_settings` 已进入标准化导入,导入后核心计数包括 3670 用户、74102 题目、85199 条旧答题记录、38205 条错题、636 订单、447 权益、79 个推广码和 1 条租户分佣设置。导入器现在还会从旧 `region_modules/module_nodes/subjects/categories/questions.nodeId` 生成新架构 `content_entries/content_nodes/question_collections/practice_blueprints`,最新导入计数为 11 个题库入口、2830 个内容节点、1597 个题目合集、82106 条合集题目关系、3102 个顺序/随机练习蓝图;所有已发布旧题都会写入 `entry_id/content_node_id/primary_collection_id`,供 Taro 前端按新模型直接消费。
production dry-run 目前仍有 2 个真实数据 blocker30 个订单缺用户、22 个知识手册章节缺所属手册;导入器会把它们隔离到财务复核/迁移待复核手册并写入 `pb_import_issues`,其中最新导入 run 的 critical issue 剩余 29 个7 个已支付订单缺用户、22 个手册章节缺所属手册。正式切换前仍必须人工确认,详见:
@@ -454,6 +454,22 @@ docs/refactor/next-development-todo.md
docs/refactor/pocketbase-real-data-migration-runbook.md
```
### API 压测和 4 核 16G 评估
默认本地烟测会构建 API 并自动启动临时端口,使用当前 `DATABASE_URL` 的真实数据做只读混合请求:
```powershell
$env:DATABASE_URL="postgresql://postgres:postgres@127.0.0.1:54322/postgres"
npm run perf:api:local
```
报告输出到已忽略的 `docs/refactor/performance-reports/`。4 核 16G 云服务器应按压测 runbook 跑 6/30/50/100 阶梯并发,并结合 PostgreSQL 调参文档观察慢 SQL、连接数、锁等待和 P95/P99
```text
docs/refactor/postgresql-4c16g-tuning.md
docs/refactor/performance-benchmark-runbook.md
```
正式切换前建议使用 production 严格模式:
```bash