更新与备份
先留一份完整备份,再安心更新。
保留原来的项目目录与数据。macOS Finder 不要直接“替换整个文件夹”。
先留一份完整备份
MathBank 的完整备份包含数据库、被引用的上传图片与自定义元数据,并附带文件校验清单。questions_backup.json 只是同步导出,不能代替可恢复的完整备份。
当前完整备份工具通过命令行使用。在原题库程序根目录打开终端,使用该项目的 Python 执行:
Windows 便携包 · 在 PowerShell 中执行:
.\python\python.exe -m scripts.backup源码版请使用你的项目虚拟环境解释器。
macOS · 使用启动器准备的项目环境:
./venv/bin/python -m scripts.backup确认工具报告成功,并在 data_backup/snapshots/ 找到 mathbank-backup-时间戳.zip。将这份备份另存到独立位置。
.env、本地 Token 和 API 密钥不会进入完整备份。换电脑后需重新配置密钥;如自行保留密钥文件,请私下妥善存放。
覆盖更新,按这个顺序
- 先保存编辑,再备份。保存当前未完成的题目修改,然后创建完整备份并确认成功。
- 安全关闭服务。使用 MathBank 的电源按钮或「关闭题库」,等待停止提示。仅关闭浏览器标签页不够。
- 下载并解压新版到临时目录。可在「系统设置 → 版本更新」检查,或前往发布页面。
- 复制新版文件夹里的内容到原目录。替换同名程序文件、合并目录,保留原有数据。
- 重新运行启动器。确认题库就绪、版本正确,并打开一道旧题核对题干与配图。
macOS 特别注意:在 Finder 中按 Command + Shift + . 显示隐藏文件,复制新版目录中的内容并合并;不要用整个新文件夹替换旧文件夹。
这些文件和目录,需要保留
| 内容 | 用途 |
|---|---|
*.db 与 WAL/SHM | 题库数据库及相关文件 |
static/uploads/ | 已上传的题目配图 |
data_backup/ | 备份、自定义元数据等 |
.env | 你自己的 API 配置 |
.system_generated/、venv/ | 程序运行数据与本地环境 |
换电脑或恢复数据
先在新电脑准备对应系统的软件与环境,保留已验证的完整备份。恢复前必须完全关闭题库服务;实际恢复会替换当前数据,先确认目标电脑上没有需要保留的新题目。
查看完整备份的校验与恢复操作
在题库程序根目录,使用上方对应系统的 Python。下面以 macOS 为例,Windows 便携版将 ./venv/bin/python 换成 .\python\python.exe。将示例路径替换为你实际的备份 ZIP 路径。
先只检查:
./venv/bin/python -m scripts.restore "备份文件.zip"确认检查通过、服务完全停止,并明确要用备份替换当前数据后,才执行:
./venv/bin/python -m scripts.restore "备份文件.zip" --apply --yes如果报告运行锁被占用,应返回软件正常关闭服务,不要删除锁文件强行恢复。恢复后重新启动,检查题目和图片,并按需要重新配置 API。
更新后仍显示旧版本?
很可能仍打开了旧的运行服务。先在网页内正常关闭题库,再运行原目录中的新版启动器。服务就绪后重新查看版本;若仍不一致,核对启动器所在目录与覆盖更新的目录是否相同。