Skip to content

数据与备份 ​

数据存在哪里 ​

数据云端本地
学校、年级、班级Neon本机 PostgreSQL
大型考试、周测Neon本机 PostgreSQL
管理员账号、角色、审计日志Neon本机 PostgreSQL
设备云端绑定关系Neon本机 PostgreSQL
当前设备班级、显示偏好、离线缓存浏览器本地浏览器本地

浏览器里的数据只属于当前设备;换浏览器、清缓存都会丢失,需要重新选择班级。

清缓存会丢数据吗 ​

不会丢考试数据。清除站点数据只会移除:

  • 当前设备选择的班级;
  • 大屏设计和字体等本机偏好;
  • 离线缓存。

考试、周测、学校结构和用户账号都在数据库里,不受影响。清除后回到首页重新选择班级即可。

怎么备份 ​

Vercel 云端 ​

bash
pg_dump --dbname="生产连接串" --format=custom --no-owner --no-privileges \
  --file=novora-YYYY-MM-DD.dump

也可以使用 Neon 自带的项目分支或恢复能力。恢复演练应使用独立的 Neon 项目或分支。

本地 Docker 部署 ​

bash
sudo docker compose exec db pg_dump -U novora -d novora -F c -f /tmp/novora.dump
sudo docker compose cp db:/tmp/novora.dump ./novora-$(date +%F).dump

本地 Node 部署 ​

bash
pg_dump --dbname="生产连接串" --format=custom --no-owner --no-privileges \
  --file=novora-$(date +%F).dump

备份文件包含管理员密码哈希和全部考试数据,应加密保存并限制访问。必须定期做恢复演练,无法验证恢复的备份不算可靠备份。

建议的备份周期 ​

周期工作
每次更新前完整备份
每周一次完整备份
每月在独立库上演练一次恢复
每学期归档一份到离线介质

迁移到另一套部署 ​

从 Vercel 迁到本地,或反向迁移:

  1. 备份源数据库(pg_dump);
  2. 在目标环境完成一次干净部署,确认能正常登录和初始化;
  3. 把备份恢复到目标数据库(pg_restore);
  4. 修改目标环境的 DATABASE_URL 指向新库;
  5. 重新启动或重新部署;
  6. 完整验收:管理员登录、学校结构、考试与周测、设备绑定、PDF、ClassIsland 同步;
  7. 确认无误后再停用旧实例。

迁移前提醒使用方暂停录入,避免迁移过程中产生新数据。

能导出成 Excel 或 PDF 吗 ​

考试安排可以导出:

  • A4 PDF:从安排预览入口下载,大型考试与周测分别导出;
  • JSON:大型考试与周测都支持导出,便于备份和跨实例导入。

目前没有直接导出 Excel 的功能,需要表格时可以把 JSON 导入表格软件再整理。

数据维护和重置 ​

系统设置支持整体或按模块清理大型考试、周测、学校结构、设备/插件和调度设置。登录用户不会随业务数据重置自动删除。

重置是高风险操作。执行前:

  • 确认选择的模块;
  • 导出或备份数据;
  • 通知正在使用系统的人员;
  • 避免多名管理员同时操作;
  • 完成后重新验收设备绑定和调度。

能不能只删某一场考试 ​

可以。在大型考试模块选中该考试后删除,页面会提供一次立即撤销机会。删除会同时影响适用范围内设备的显示,操作前确认当前切换的是正确考试。

只想临时不显示时,改用停用该考试的分科目,不要删除。

Novora 部署与维护文档