Chat now with support
Chat with Support

Toad Edge 1.1 - User Guide

About Schema Compare

Schema Compare > About Schema Compare

With Toad Edge, you can compare database objects of two databases/schemas. Based on the result, you can generate an HTML report or change scripts for both the source and the target to deploy changes immediately.

NOTE: Although possible, it is not recommended to compare two databases of different database versions (e.g. MySQL 5.6 and MySQL 5.7).

To quickly compare two databases/schemas

  • Select any two databases in Object Explorer, right-click and select Compare Schemas

To configure comparison settings before performing Schema Compare

  1. Click the Compare button on main toolbar and select New
  2. Specify the Source and Target schemas and select the desired Object Types and Comparison Rules
  3. Click Compare

This comparison process may take a while depending on the number of objects in both databases. Once it is completed, you can see all the differences between the source and the target and perform various actions.

Schema Compare consists of three parts:

  • Overview Grid - Displays differences between databases. The differences can be resolved and marked as read/unread, important or excluded
  • Comparison Area - Shows the specific differences in SQL code between the source/target database objects
  • Outline View - Contains settings that determine which types of differences should be considered or ignored

Overview Grid

Schema Compare > Overview Grid

The main purpose of the grid is to resolve differences between database objects as a part of Schema Compare. You can also use other tools to filter the differences or mark them via context menu as:

  • Read/Unread / - signifies whether you have already reviewed the difference or not
  • Important / - simply marks the difference as important, has no influence on the result of the comparison
  • Excluded - the difference is ignored and removed from the grid unless you enable the Show Excluded Items option

There are two main types of differences:

  • Only in source/target - objects that are found only in one of the two compared databases
  • Different - objects that are linked (same name or linked by user) but their SQL code is different

In case you want to compare an unlinked object in source with an unlinked object in target, you will have to map them.

To map an unlinked object to any other unlinked object

  1. In the grid, find an object that is not linked yet by looking in the Only in source/target nodes
  2. Notice the [map] text in the other database column. It is a drop down menu from which you can select the object that should be mapped to your original object

  3. After selecting the object, the two objects are now linked. You can unlink them again by clicking the unlink icon

Once you link objects as you wish, you can go through the differences and decide on how to resolve them.

To resolve differences between two database objects

  1. In the Overview Grid, locate any row that marks a difference between two objects
  2. Click on the arrow in the cell between the object names to specify how the difference is going to be resolved.

The following table lists all possible resolution actions and their meanings:

Action Action description Resolution description
Change target The generated change script will change target so it matches source
Change source The generated change script will change source so it matches target
Change both (Different objects only) All differences between the two objects are marked as ignored. You can go through the specific differences one by one and resolve them in the Comparison Area
Ignore The differences between the two objects are ignored and not included in the generated change script
Overview Grid Toolbar
UI Element Option Description
Recompare All Compares the source and the target again
Save As Saves the comparison as a .compare file that can be loaded and displayed at any time
Previous Unread Change Switches to the previous difference marked as unread ()
Next Unread Change Switches to the next difference marked as unread ()
Export Report Exports an HTML report detailing the detected differences
Generate Script for Source Generates a change script for the source schema/database according to the resolution actions you have set. The script can be generated to clipboard, a worksheet or a file
Generate Script for Target Generates a change script for the target schema/database according to the resolution actions you have set. The script can be generated to clipboard, a worksheet or a file
Update Objects in Database (Repository only) Updates objects in database according to the resolution actions you have set. The drop down menu allows you to only generate a change script instead. The script can be generated to clipboard, a worksheet or a file
Overwrite Files on File system (Repository only) Updates objects in file system repository according to the resolution actions you have set. The drop down menu allows you to only generate a change script instead. The script can be generated to clipboard, a worksheet or a file
Filter by Action Displays only the differences that you have resolved by the selected action(s)
Group by Groups the differences by the selected criteria
Filter Filters the differences according to the input. It is possible to use wildcards (? and *) and regular expressions as well as filter by multiple comma separated values
Show/Hide Excluded Items Shows/Hides differences marked as Excluded
Hide Empty Nodes Hides object type nodes with no detected differences
Export Settings Exports the Schema Compare settings and Detailed Settings which can be configured in the Outline View

 

Comparison Area

Schema Compare > Comparison Area

This part of Schema Compare displays specific differences between the SQL code of two given database objects. It also allows you to export the SQL code of any of the two objects in various ways and you can also deploy changes based on the actions that you have used to resolve the differences.

Comparison Area has the following tabs:

  • Script Definition - displays the SQL code of both objects and the differences between them
  • Change Script - displays the change script SQL code that will be generated in order to resolve the differences

In the Script Definition tab, differences can be resolved one by one with different actions.

To resolve differences between two objects in Script Definition

  1. In Overview Grid, select a row with two different objects
  2. You should now see the specific differences displayed in the Comparison Area | Script Definition tab
  3. Select a specific difference by simply clicking on it. A border should appear to signal that the difference is currently selected
  4. Right-click and select the action that you would like to use to resolve the difference

Once you resolve all the differences, you will probably want to deploy the changes. This can be done in two scopes:

  • Deploy changes of all objects - in this case, you generate and execute a change script for all objects that are resolved/not excluded in the Overview Grid
  • Deploy changes of a single object - this method uses the Change Script tab

To deploy changes of a single object

  1. Resolve all differences as described in the walkthrough above
  2. When you are done, switch to the Change Script tab
  3. You should see a generated change script that is based on the resolution actions you have used. To deploy the changes, simply click the Deploy button /. If you just want to generate the script rather than deploy it immediately, use one of the three buttons to the right of the Deploy button
Comparison Area Toolbar
Button Option Description
Deploy Executes the generated change script in the source/target to address the differences
Export/Copy/Open SQL Worksheet Exports the generated change script for source/target to a file/clipboard/Worksheet
Set Action Resolves all differences between the two objects using the selected action

Continuous Integration and Delivery

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating