Database Schema compare tool
Schema Comparison Tool
Schema Comparison Tool allows you to compare tables, views, functions, sequences, packages, stored procedures and other database objects between two schemas/databases. It will report any discrepancies between schemas such as missing or mismatching stored procedures, tables, triggers, columns, indexes and constraints. It also will detect column discrepancies such as data type, nullability and defaults. Also, comparison can be done between schemas on two different DBMS platforms such as Oracle and SQL Server.
Currently schema comparison is supported for Oracle, SQL Server, DB2, SQLite, PostgreSQL, HSQLDB, Vertica, MySQL and Sybase ASE/ASA.
The comparison can also be run on all supported platforms: Windows, Linux, MacOS and Solaris.
The first screen of the Schema Comparison Tool allows you to select the source and destination schemas or databases you want to compare. The database/schema to be compared can either be on a live database server or a file containing previously saved snapshot of a database/schema.
To compare a database or schema on a live database server, select the 'Database/Schema' tab under 'Source' or 'Destination'. The tree control on the left hand side allows you to select 'source' database/schema of the comparison and the right side lets you pick the 'destination' database/schema.
To compare a database or schema that you have earlier saved to a snapshot file, select the 'Snapshot' tab under 'Source' or 'Destination'. To open a previously saved snapshot file, click on the file folder icon and point to the snapshot file on your hard drive.
If you only want to compare certain tables from the source schema/database, you can do that by unchecking 'Compare All Tables' check box and picking the individual tables for comparison. By default, all tables from the source and destination schema/database are compared.
Using the same mechanism, you also need to select the view, functions and stored procedures you want to compare, by default all objects will be compared. After selecting all the desired objects for the database comparison, click on 'Next' to proceed to the setting page.
The settings panel gives more control over what attributes will be compared between the selected schmas or databases.
The settings panel is divided into several main categories; Columns, Constraints, Indexes, Triggers, Stored Procedures, Functions and Views. For each category there are numerous settings you can modify to affect how the comparison is done.
For example, column comparison can be modified to ignore the default values or nullability of all columns. For each column data type there are additional settings you can modify, such as precision/scale comparison for fixed point decimal values.
Notice that all settings will be persisted between DB Solo sessions, so you don't have to enter the same information every time you run the comparison. After choosing your settings for the database comparison, click on 'Next' to start the comparison process. Notice that if your database contains hundreds of objects, the database comparison process can take considerable time to complete.
The results panel shows the results of the database comparison in a tree format. The tree items are colored so that pinpointing differences between the compared schemas becomes trivial.
By clicking an item in either tree of the database comparison tool's result window will show a detailed explanation about the selected item. If an item is selected in both trees, the database comparison tool will show the details on the last clicked item. The 'Only show tables present on both sides' check box allows you to filter the output so that only tables present in both databases are shown in the trees.
When selected, the 'Only show objects that do match' check box will filter out objects whose definitions match, i.e. objects that are displayed in green in the tree controls.