docs: 用户表预留 course_id,记录多教材扩展点

- 04-architecture 3.2:progress/vocab 加预留列 course_id(默认 family-album),
  避免将来接入新概念英语等时迁移用户数据;MVP 仅留列不写多教材逻辑
- 06-tasks:T-301 验收注明该预留列;待办池补"多教材接入"扩展点备忘

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-06-21 15:16:59 +08:00
co-authored by Claude Opus 4.8
parent b7b549d679
commit 060daf02a1
2 changed files with 17 additions and 4 deletions
+6 -2
View File
@@ -87,9 +87,13 @@
**users** — id, email, password_hash, created_at
**progress** — user_id, episode_id, act, last_position(秒), completed, updated_at
**progress** — user_id, **course_id**, episode_id, act, last_position(秒), completed, updated_at
**vocab** — id, user_id, word, episode_id, act, context_sentence, created_at
**vocab** — id, user_id, **course_id**, word, episode_id, act, context_sentence, created_at
> **`course_id` 是前向兼容的预留列**:MVP 只有「走遍美国」一个教材,建表时即带上此列、固定默认 `"family-album"`。
> 目的是避免将来接入新概念英语等时,对**已产生的用户进度/生词数据**做痛苦的 schema 迁移(用户数据不可重生,内容数据可重生)。
> ⚠️ MVP 阶段**仅留列、填默认值,不写任何多教材逻辑**(不建 courses 表、不改内容 JSON、不做按教材过滤)——多教材接入是 V2+,见 [任务看板](06-tasks.md) 待办池。
**功能模块化**:字幕同步、生词本、播放器做成可复用组件,不同教材按需启用(走遍美国用字幕同步;新概念可能更重单词表与语法)。