单机 app 用的是 sqlite 数据库,备份方案怎么设计实现?

2020-03-20 22:01:53 +08:00
 cornetCat
请教一下大家,如果单机离线版的 app 用的是 sqlite 作为数据存储,要给用户一个数据备份的功能,大家会怎么做呢?
把 db 文件拷贝一份?
把数据按某种格式到出为文本文件?
2666 次点击
所在节点    程序员
10 条回复
Torpedo
2020-03-20 22:07:39 +08:00
为啥不直接拷贝一份
reus
2020-03-20 22:10:18 +08:00
当然是拷贝一份
CallMeReznov
2020-03-20 22:16:29 +08:00
sqlite 肯定不会大,每天定时压缩打包一份上传没问题吧
saulshao
2020-03-20 22:25:54 +08:00
复制数据库文件就行了,不需要搞导出之类的。
clino
2020-03-20 22:27:09 +08:00
sqlite 导出 sql 文件,然后每天 git 提交,这样还能恢复到某一天的数据呢
cornetCat
2020-03-20 22:31:53 +08:00
@Torpedo
@reus
@CallMeReznov
@saulshao
@clino

感谢回复,看来还是直接靠背 db 文件最简单了。
wanguorui123
2020-03-21 10:16:25 +08:00
压缩拷贝最好,数据库压缩比大
shadeofgod
2020-03-21 12:38:23 +08:00
虽然 sqlite 二进制格式是跨平台兼容的,但长远来说直接备份二进制文件没有备份 SQL 移植性好,另外 SQL 格式文本压缩比比较好
zzerd
2023-12-09 15:46:04 +08:00
@clino 我这样用了几年现在仓库好大…
clino
2023-12-09 16:17:00 +08:00
@zzerd 一个可以 gc 压缩一下,另外也可以删除比较旧的历史,你可以问一下 chatgpt ,用
git checkout --orphan new_branch <commit_hash>
之类的命令

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/654720

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX