比较2个SQLite数据库

时间:2016-05-12 19:27:10

标签: sqlite

我想比较2个SQLite数据库,以检查是否需要在客户端计算机上更新。

我不确定我应该怎么做。 我是否应该制作内部版本ID或比较文件大小(这可能不是一个好主意,因为我认为文件大小在我编辑数据库的任何时候都不会改变)。

有人知道做我需要做的事情的好方法吗?

谢谢!

3 个答案:

答案 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。我是这个工具的作者。比较数据库对象定义和数据。提供免费版本,功能强大,可满足差异/比较需求。