KS DB Merge Tools
Documentation
for MS Access
aka AccdbMerge
for SQL Server
aka MssqlMerge
for MySQL
 
for SQLite
 
for PostgreSQL
 
for Oracle
 
for Cross-DBMS
 

Object list tab

  • Opened from: Home tab
  • Applicable tab-specific toolbar actions:
    • Refresh information from database. Also updates information about the current object type on the Home tab.
    • Export to Excel
    • Copy selection to clipboard
    • Show all, new and changed, new, changed objects
    • Jump to the next, previous change
    • Select all, none, invert selection on the left, all, none, invert selection on the right side
    • Merge left selected objects to the right side, right selected objects to the left side
    • Delete selected objects on the right side, selected objects on the right side
  • Applicable object types: all

This tab lists all objects of some particular type - tables, views, etc. Allows to identify whether some object is new, changed or unchanged. Note that for tables and views it does not provide information about data/content changes, only about object definitions (like changed column data type for tables or changed select statement for views).

for SQLite, object list tab

Each object name cell has a hyperlink that opens table structure diff tab for tables (except virtual tables) and text diff tab for all other object types. Object name cell can also contain some additional action buttons for tables and views:

  • opens text diff with table SQL script
  • opens query result diff with select top 1000 records statement for this table/view
  • opens data diff for the given table/view
  • opens data diff for the given table/view filtered only to new and changed records

Table definition name may also have one of the following additional labels:

  • this is a Virtual table. Such table definition can not be altered. Click on table name opens Text diff tab instead of Table structure diff
  • this is probably a Shadow table related to some Virtual table. KS DB Merge Tools currently performes only table name checks for a shadow table (1st two points from this list), it does not perform validation of xShadowName. Such tables can be changed by KS DB Merge Tools, both table definition and data, but both Table structure diff and Data diff tabs will show a red warning label containing text like This can be a shadow table used by "Virtual table name" virtual table. Any changes can be undesirable. In the most cases shadow tables should not be changed by user/application, they should be managed by SQLite virtual tables.

Vertical toolbar between two panels contains additional tab-specific actions:

  • Replace selected on the right with selected on the left
  • Replace selected on the left with selected on the right
  • Compare two selected objects
  • Show table DL (foreign key dependency level) toggle makes visible DL column for tables. This value may help to understand the order of tables in the table merge script generated by the application. See Table DL for more information.
  • Show text preview in the bottom

When bottom text preview is active, it contains two more actions:

  • Show text preview line totals
  • Show text preview selected line

Each object name has selection checkbox nearby - so you can select object with mouse or with Space button from keyboard and do some further actions with selected object - merge, delete, etc. Once you have selected number of rows and clicked merge, replace or delete toolbar button, it will show you the Execute script dialog that will contain SQL script with desired action, so you can review it before apply:

for SQLite, execute merge script dialog

At the top of the object list it shows changes summary for each side: total count of objects, new, changed and new+changed count. It also shows number of selected records.

Also top panel has small quick filter button that allows to filter object list by name. This can be very convenient for large object lists. This action also available with Alt+F keyboard shortcut.

Note that Pragmas are compared and can't be synchronized. Tables currently do not support changes syncronization for existing tables (like import just one new column for existing table). You can import only new table definition. For existing tables you can drop target table and then import source table as new, however in this case 1) you'll loose data in the target table, and 2) drop action may fail because of other objects depending on that table.

At the bottom panel it shows information about selected object - either object name or text preview.

Free version limitations:

  • Object name action buttons are available only for Tables
  • Not available top panel with object counts and quick filter
  • Not available bottom panel with selected object name and date/time or with text preview
  • No Excel export
  • No jump to the next/revious change
  • No changes highlight in scrollbar
  • Merge actions are not supported for tables
  • Not available 'Compare two selected objects' and 'Show table DL' for table definitions

Last updated: 2023-01-09