如何区分2个SQLite文件?

如何区分2个SQLite文件?,sqlite,ide,diff,Sqlite,Ide,Diff,在Mac上使用SQLite管理器(XUL形式) 如何将SQLite文件与团队中其他人提交的文件区分开来,并合并他的更改 谢谢。我相信您可以结合使用以下选项: $ diff sqlite-file-1.sql sqlite-file-2.sql > sqlite-patch.diff $ patch -p0 sqlite-file-1.sql sqlite-patch.diff 我希望这对你有用。否则,我强烈建议参考手册页: $ man diff $ man patch 编辑:好的,这是

在Mac上使用SQLite管理器(XUL形式)

如何将SQLite文件与团队中其他人提交的文件区分开来,并合并他的更改


谢谢。

我相信您可以结合使用以下选项:

$ diff sqlite-file-1.sql sqlite-file-2.sql > sqlite-patch.diff
$ patch -p0 sqlite-file-1.sql sqlite-patch.diff
我希望这对你有用。否则,我强烈建议参考手册页:

$ man diff
$ man patch
编辑:好的,这是整个过程

首先,转储数据库:

$ sqlite test1.sql .dump > test1.sql.txt
$ sqlite test2.sql .dump > test2.sql.txt
接下来,生成一个diff文件:

$ diff -u test1.sql.txt test2.sql.txt > patch-0.1.diff
最后,要应用修补程序:

$ patch -p0 test1.sql.txt patch-0.1.diff
也许使用这个工具:? 但是您可以使用@indienick提供的解决方案,前提是首先使用类似于:sqlite x.db.dump>output.sql的内容转储二进制sqlite数据库

希望这有帮助,
Moszi

我们可以使用sqldiff实用程序:

它将比较源数据库和目标数据库,并生成SQL命令,使源数据库与目标数据库等效

  • 成对行内容中的任何差异都将作为更新输出
  • 数据库中无法配对的行输出为 删除
  • 目标数据库中无法配对的行是 作为插入输出

我们必须从工具文件夹下载源代码并进行编译。

不起作用,因为SQLite是一个二进制文件,您得到的唯一结果是“二进制文件不同”,如果您修改已经包含数据的模式,这不会中断吗?例如,如果您添加了一个字段,并希望将附加字段修补到现有数据库中。用户可能需要sqlite3而不是sqlite。我如何确切地转储sqlite?我没有安装sqlite命令行。如果您使用标准的Mac box,那么您应该在/usr/bin/sqlite3;)中安装sqlite上次我检查时,您不必担心转储SQLite文件,因为SQLite直接与.sql文件一起工作-它不完全隐藏在二进制平面文件中,如PostgreSQL或MySQL。明白了,它可以工作。现在我必须决定谁得到了V-@indienick得到了90%的正确率,但你把它带回家了…:)哈:)-没关系:)把它奖励给英迪尼克,他的回答比我的快;)无需编译,它可以作为预先编译的二进制文件在上提供,您不必乱动
工具
文件夹。只需
/configure&&makesqldiff