MoePal 本地 SQLite 数据库结构与备份恢复
数据库文件位置
MoePal 使用 SQLite 作为历史记录和收藏夹的持久化存储引擎。数据库文件名为 moepal.db。
| 平台 | 路径 |
|---|---|
| Android | 内部存储/Android/data/com.moecloud.helper/databases/moepal.db |
| Windows | %APPDATA%/MoePal/moepal.db |
| macOS | ~/Library/Application Support/MoePal/moepal.db |
数据库特点
SQLite 是嵌入式数据库,特点:
- 单文件:整个数据库就是一个文件,便于备份和迁移
- 无服务端:不需要安装数据库服务,MoePal 内置了 SQLite 引擎
- 轻量:数据库文件通常只有几 MB 大小
- 自包含:所有数据都在这一个文件里
表结构概览
虽然不需要深入表结构也能正常使用,但了解表结构有助于高级用户进行备份恢复和数据迁移。
主要数据表
| 表名 | 内容 | 关键字段 |
|---|---|---|
download_history | 下载历史记录 | 文件路径、来源平台、时间戳、文件大小 |
parse_history | 解析历史记录 | 原始链接、解析码、来源平台、时间戳 |
favorites | 收藏夹主表 | 文件名称、原始链接、来源平台、文件夹ID、标签 |
folders | 收藏文件夹 | 文件夹名称、创建时间、父文件夹ID |
tags | 标签表 | 标签名称、颜色 |
favorite_tags | 收藏-标签关联 | 收藏ID、标签ID |
表间关系
folders (1) ── (N) favorites ── (N) favorite_tags ── (N) tags
- 一个文件夹可以包含多个收藏
- 一个收藏可以在一个文件夹里
- 一个收藏可以有多个标签(通过关联表实现)
- 一个标签可以分配给多个收藏
数据备份
方法 A:MoePal 内置备份功能
设置 → 数据管理 → 导出数据:
- 选择要导出的范围(收藏夹 / 历史记录 / 全部)
- 选择导出格式(JSON 或 SQLite 文件)
- 选择导出位置
- 等待导出完成
方法 B:手动复制数据库文件
直接复制 moepal.db 文件到安全位置即可。可以:
- 复制到另一个硬盘分区
- 上传到网盘作为备份
- 同步到其他设备
备份时机
建议在以下场景之前手动备份:
- 更新 MoePal 到新版本(升级过程可能损坏数据库)
- 清理应用数据(Android 清理缓存前)
- 迁移到新设备
- 大量批量删除操作之前
数据恢复
从备份文件恢复
设置 → 数据管理 → 导入数据:
- 选择之前导出的备份文件
- 选择要恢复的范围
- 确认导入(注意:会合并到现有数据中,不会清空后导入)
手动恢复 SQLite 文件
- 关闭 MoePal
- 找到当前的
moepal.db并备份(以防万一) - 将之前的备份文件复制到数据库目录并覆盖
- 重新打开 MoePal
- 检查历史记录和收藏夹是否正确恢复
注意事项
- 同平台恢复:Android 的数据库只能恢复到 Android,Windows 只能到 Windows(路径和编码可能不同)
- 版本兼容:低版本的数据库恢复到高版本通常没问题,但反过来可能不兼容
- 先备份再恢复:操作前先对当前数据库做一份备份,防止恢复失败导致数据丢失
跨设备迁移
同平台迁移(Android → Android)
- 在旧设备上找到数据库文件 → 复制到电脑
- 在新设备上安装 MoePal 并打开一次(让它创建初始数据库)
- 关闭新设备上的 MoePal
- 将旧设备的数据库文件复制到新设备的数据库目录并覆盖
- 重新打开 MoePal
不同平台迁移
跨平台迁移比较复杂,推荐使用 MoePal 内置的 JSON 导出/导入功能:
- 在源设备上导出 JSON 格式备份
- 在目标设备上打开 MoePal → 导入该 JSON 文件
- 数据会自动合并到目标设备的数据库中
账号同步(推荐)
关联 MoePal 账号后,收藏夹会自动跨设备同步。这是最省心的方案,不需要手动操作数据库文件。