在 Mac 上使用 SQLite-manager(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
我们可以使用sqldiff实用程序:
https://www.sqlite.org/sqldiff.html
它将比较源数据库和目标数据库并生成 SQL 命令以使源数据库等于目标数据库。
我们必须从工具文件夹中下载源代码并编译它。
- 配对行内容中的任何差异都会作为 UPDATE 输出。
- source数据库中无法配对的行输出为 删除。
destination- 数据库中无法配对的行是 输出为 INSERT。
?
但是您可以使用 @indienick 提供的解决方案,前提是您首先使用以下内容转储二进制 sqlite 数据库:sqlite x.db .dump > output.sql