我想比较2个SQLite数据库,以检查是否需要在客户端计算机上更新。
我不确定我应该怎么做。 我是否应该制作内部版本ID或比较文件大小(这可能不是一个好主意,因为我认为文件大小在我编辑数据库的任何时候都不会改变)。
有人知道做我需要做的事情的好方法吗?
谢谢!
答案 0 :(得分:2)
您可以使用SQLite的.dump
命令尝试转储每个SQLite数据库:
$ sqlite3 /path/to/database1 .dump > database1.sql
$ sqlite3 /path/to/database2 .dump > database2.sql
然后比较生成的文件。如果您的两个数据库非常相似,那么简单的diff
可能会显示任何差异,例如:
$ diff -u database1.sql database2.sql
希望这有帮助!
答案 1 :(得分:0)
您可以使用sqldiff。
在安装sqlite3时,默认情况下在Debian或基于Debian的系统(可能还有其他Linux系统)上安装它:apt install sqlite3
在MacOS上,它可以与Homebrew一起安装:brew install sqldiff
答案 2 :(得分:0)
对原始问题稍晚一些,但可能会对其他人有所帮助。
在Windows上,您可以使用KS DB Merge for SQLite。我是这个工具的作者。比较数据库对象定义和数据。提供免费版本,功能强大,可满足差异/比较需求。