KS DB Merge Tools logo KS DB Merge Tools
database diff & merge
KS DB Merge Tools for SQLite logo for SQLite
 
KS DB Merge Tools for Oracle logo
KS DB Merge Tools for MySQL logo
MssqlMerge logo
KS DB Merge Tools for PostgreSQL logo
AccdbMerge logo
KS DB Merge Tools for Cross-DBMS logo
KS DB Merge Tools All-In-One license

Standard Features

Batch Data Diff

Batch Data Diff allows to compare data for multiple tables and views. This tool can be opened using 'Batch data diff (Ctrl+Shift+B)' toolbar button:

for SQLite, query result diff

With click on any calculated count you can drill-down to data diff to check these rows. For views new and changed rows count can not be calculated since they do not have primary keys and therefore it is not possible to detect whether the row was added or changed.

Query Result Diff

With 'Query result diff (Ctrl+Shift+Q)' you can compare arbitrary query results:

for SQLite, custom data diff

This can be convenient if you want to specify some column or row filter. You can split this window to specify two queries and compare their result, in this case you can also run both queries against the same database.

You can run number of data retreival statements that would return multiple resultsets. After execution you can scroll thru these resultsets using resultset counter.

Note that query results can not be merged.

Table Structure Diff

Clicking on the table name in the tables list opens a table structure diff window. This tool allows to synchronize table definition changes:

for SQLite, batch data diff

Custom Data Diff

With 'Custom data diff (Ctrl+Shift+C)' you can compare any tables and views with ability to specify custom column mapping. At least one column mapping item must be defined with mapping type 'Key':

for SQLite, export to excel

This dialog also can be opened from the regular data diff window by 'Column mapping' link and from query result diff in 'customize column mapping' mode.

Export to Excel

Export to Excel generates Excel reports for object list, data diff, batch data diff, query result diff and table structure diff. Click the 'Export to Excel (Ctrl+Shift+E)' toolbar button to export data grid from the currently opened tab:

for SQLite, table structure diff

For the data grids that allow row/object selection (such as table diff view), only selected rows will be exported, if any rows were selected.

Open Password-Protected Files

You can open password-protected files using 'Open file(s) with password (Ctrl+Shift+O)' toolbar button or using similar Home tab panel action:

for SQLite, open password-protected files

You can save file open security options to an sqlts file, which can be used later using regular Open File action or as a command line argument. It can be very convenient if you often work with the same protected files. You put your credentials only once, save sqlts and use it without entering credentials anymore. Note that everything is saved as a plain text and this file must be saved in a safe location. 'Use relative paths' option allows to save project file name in sqlts file relative to sqlts file location. For example, if you save your sqlts file to the same folder with project, then you can move both project file and sqlts file to some other folder without breaking sqlts file. Next time you open sqlts file, it will search for the project file in the same folder again.

Diff Profiles

Diff profile contains list of preset custom mappings and queries. For example, some team works on two applications - app1 and app2, each has its own database. Some table names (such as User) are pretty common - so there is a big chance that we'll get different DBs having the same table name but in each DB this table has a different set of columns and/or keys. Table User in app1 may have no primary key and we want to compare its data by email, but never use email as a key for app2 DB instances. This can be achieved using diff profiles. We create a new diff profile for app1, specify custom mapping for table User and save this mapping in that diff profile. Now if we have app1 diff profile loaded, when we compare any pair of app1 DB instances, application will use Email as a key.

The next diff profile feature is an ability to save your ad-hoc queries from Query result diff tab. So next time you want to run the same query again - you don't need to type it one more time and specify mappings.

Extended Diff Facilities

As you could notice on the Overview page - object list, data diff and text diff views provide the following additional diff functionality:

  • 'Next change (Alt+Down)' and 'Previous change (Alt+Up)' toolbar buttons to search for the next/previous block of changes in the data diff and text diff views.
  • Display selected row in the separate vertical side-by-side comparison panel at the bottom of the window. For text diff it also provides by-character comparison.
  • Configurable paging in data diff allows you to work with large amounts of data and includes rows totals per page.
  • Sorting on arbitrary column in data diff helps you to arrange and find required rows.
  • Scrollbar background highlight shows which portions of data contain other changes.
  • Views Data Diff

    You can compare view results the same way as for tables using 'Compare data' and buttons. Click on these buttons will bring up a 'Query key columns' dialog with the list of common columns. Select number of columns that can uniquely identify query row to detect new and changed rows. When you click OK, application checks that chosen columns match this criteria, otherwise you will get a warning and will have to select other columns.

    Command Line Arguments

    You can open projects in Standard version using command line arguments. This makes it possible to use it as a diff viewer for version control system clients such as TortoiseSVN. The format of command line arguments is

    sqlitemerge.exe left_file_path right_file_path

    Other Enhancements

  • More object types supported.
  • Customization - you can setup lot of options in Settings window - what and how to compare by default.
  • Find tab - drill-down links to occurrence with focus on target row in the text diff view.
  • In object list and Batch Data Diff you can use 'Filter (Alt+F)' command to filter object names by substring. This can be very convenient for large lists.
  • Copy to clipboard support for a number of tabs.