Commit Graph

3 Commits (f61a0bb91390b9bacde8418e516f6bd9ddb0b9f6)

Author SHA1 Message Date
mula.liu b3dc8526f6 远端存一份整库快照:full.sql(含账号/答题记录,不含 API Key)
- data/*.db 一直被 gitignore,远端从来没有数据库文件,库一重置章节题目就没了;
  现在除 catalog.sql(纯内容)外,再提交 data/dump/full.sql 整库快照,
  新机器 clone 后 ./scripts/init.sh → db.sh load data/dump/full.sql 即可整库还原
- dump 用双引号包住表名与列名,修掉 users.group 保留字导致快照无法回灌的 bug
- dump/load 的相对路径按仓库根解析(此前从 backend/ 调用会写错位置)
- 快照排除 llm_settings,LLM API Key 不会进 git
2026-09-18 17:35:17 +08:00
mula.liu ac620bcbeb 内容快照对齐重启后的规范状态:知识点按规范名合并(48→44),题目与章节归章不变 2026-09-18 14:58:35 +08:00
mula.liu 5f72149ceb 数据可恢复:补齐章节目录、找回电子书、加备份与内容快照
库文件 data/*.db 一直不进 git,seed --force 之后章节和题目就跟着没了。
这次把内容找回来,并且让远端始终留有一份可恢复的快照。

* seed/catalog.py:预置 4 本书的正式章节目录(29 章),启动时按 ISBN
  补齐缺失章节,并把未归章的题目挂到对应章下(不覆盖人工改过的归章)
* seed/ebooks.py:按「大小 + SHA-256」认领 data/ebooks 里的孤儿电子书,
  重建教材条目并把文件挪回该书目录(已找回教材 7《柯西-施瓦茨大师课》)
* services/ebooks.py:同内容文件复用,避免种子重复复制电子书
* dbtool.py + scripts/db.sh:backup/restore 本机时间戳备份,
  dump/load 把内容表导成 data/dump/catalog.sql(可提交、可灌回空库)
* seed --force 前自动备份并打印路径;README 增加「数据备份与恢复」
2026-09-18 14:56:10 +08:00