6

I would like to compare Sqlite databases with each other, both schema and data. I know that a rather crude method exists by comparing the database dumps with each other. But are ther any other methods as well? Especially from a command line environment. I know several tools for comparing databases exist, and I would like to know what sort of methodology they use.

1
  • 1
    You want want to ask this over at DBA.SE instead. Maybe they have some interesting suggestions as well.
    – haylem
    Jul 7, 2012 at 18:26

8 Answers 8

5

If you only need rough precision, the dump method is crude but does get the job done.

If you want a lot of precision, I have done a similar task using Python's SQLite module. (http://docs.python.org/library/sqlite3.html) I grabbed and directly compared alike rows in each table and wrote out changes to a file, with further post-comparison and UPDATEs done after all comparison was done. You can do similar comparisons with the schema for each "*.db" file.

4

I have always loved using Scooter Software - Beyond Compare (limited to 2 links) to visually compare between folder, files etc. Group of them or single.

This should help with an easy to use Visual Compare.

Daniel has created a great BC File Extension Forum Link | How To on GitHub.

It uses simple export with command line to do compare SQLite DB.

I could not even post the Images / Screenshots. If someone can do so and add to this answer please do so.

1

RedGate offers a suite of tools to help with DB comparisons: http://www.red-gate.com/products/sql-development/sql-compare/

There is a tool to compare schemas from different DB's as well as a tool to compare the data from tables or from the result of a query. We use the data compare tool every time we update our database to ensure that queries often done by our product code return the same data in the same order, etc.

2
  • I already know that tool, but I can't use it. I'm in a command line environment and cannot rely on existing tools and packages. What I'd really like to know is that methodology or technique it may possibly use in comparing dbs. Jul 6, 2012 at 20:13
  • 1
    RedGate Sql Compare and Sql Data Compare do not work with SQLite
    – Brent
    Jul 22, 2014 at 19:00
0

RedGate Sql Compare and Sql Data Compare do not work on SQLite unfortunately.

SQLite Compare Utility http://www.codeproject.com/Articles/220018/SQLite-Compare-Utility works decent for schema differences, but wasn't very helpful for data differences in my situation.

I would give my arm if Beyond Compare added support for Sql Server and SQLite comparison.

0

Try using SchemaCrawler. SchemaCrawler is a free and open-source command-line tool that produces text (text, JSON, CSV, HTML) output that is designed to be diff-ed, using standard diff tools. It can compare both structure and data.

Sualeh Fatehi, SchemaCrawler

2
  • 1
    Sualeh, thank you for disclosing your connection to SchemaCrawler. Not everyone does this.
    – Kate Paulk
    Sep 22, 2014 at 11:00
  • One thing I will note is that this post is identical to another post. The posts appear to be perfectly legitimate, just be careful about copy/pasting =) That being said, Kate is being polite. In reality, almost no one does it... I would venture to say 4 of every 5 warnings issued are for undisclosed astroturfing, so it is certainly refreshing to see someone being honest about their affiliations!
    – corsiKa
    Sep 22, 2014 at 23:41
0

Navicut sqllite tool seems better option. There is one feature for synchronization of sql lite databases. Data and schema both.

http://prntscr.com/7ps6ya

0

There is a GUI tool for Windows, "KS DB Merge Tools for SQLite", allows to compare both schema and data. It has two-panel UI like most of text diff tools:

https://ksdbmerge.tools/for-sqlite

I am the author of this tool.

Free version available, but free version has no command line support mentioned in the question. Paid version can accept db paths from command line, that's allows to use it as diff viewer for source control tools like TortoiseSVN, but it has no console output or something like that.

UPD July 2022: I've made a free web version of my SQLite tool, also compares both schema and data. Comparing to the desctop version, it does not support merge, but works in the most of popular modern wasm-compatible web browsers, including Safari on Mac and Firefox and Chromium on Linux:

https://ksdbmerge.tools/for-sqlite-online

0

There is a diff tool by sqlite.org:

sqldiff

1
  • Please add some more information regarding how this tool will help resolve the problem at hand. Jul 19 at 4:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.