如何区分2个SQLite文件?

8yparm6h  于 2023-02-09  发布在  SQLite
关注(0)|答案(4)|浏览(173)

在Mac上使用SQLite-manager(XUL形式)。
我如何将SQLite文件与团队中其他人提交的文件进行区分,并合并他的更改?
谢谢。

bksxznpy

bksxznpy1#

我认为您可以结合使用以下各项:

$ 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
tct7dpnv

tct7dpnv2#

我们可以使用sqldiff实用程序:
https://www.sqlite.org/sqldiff.html
它将比较源数据库和目标数据库,并生成SQL命令使源数据库与目标数据库等同。

  • 配对行内容中的任何差异都作为UPDATE输出。
    *source数据库中无法配对的行将输出为DELETE。
    *目标数据库中无法配对的行将作为INSERT输出。

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

pvabu6sv

pvabu6sv3#

也许使用这个工具:http://download.cnet.com/SQLite-Diff/3000-10254_4-10894771.html?但是您可以使用@indienick提供的解决方案,前提是您首先使用类似以下内容转储二进制sqlite数据库:数据库转储〉输出. sql
希望这能帮上忙莫西

hc8w905p

hc8w905p4#

有一个免费的网络工具可以比较SQLite数据库,包括模式和数据-https://ksdbmerge.tools/for-sqlite-online工程在wasm兼容的浏览器,包括Safari在Mac上。
我是这个工具的作者,它是我的桌面工具SQLite的uno平台移植。不像我能找到的其他在线工具-它不上传你的数据到服务器来生成数据差异。但是它上传模式来处理其余的逻辑。
截至2022年6月,它是一个只有差异的工具,网络版不产生任何同步脚本。

相关问题