Exporting schema comparison results to an HTML report

Applies to

ApexSQL Diff and ApexSQL Diff for MySQL

Summary

This article explains how to export schema comparison results to an HTML report and options that can be used before and after exporting results.

Description

Once data sources are compared and comparison results are shown using the Export button from the Home tab to export results into and HTML report – this is a user-friendly interactive format. It allows easy navigation through the report by allowing to expand/collapse logically grouped sections in the report using + and – buttons respectively:

ApexSQL Diff expanding comparison results by object

Here, the closer look at each report section separately will be presented:

ApexSQL Diff and ApexSQL Diff for MySQL structure comparison report header – The HTML report header displays information about the data sources and the author of the report:

ApexSQL Diff and ApexSQL Diff for MySQL schema difference report

To add customized Author and Legal information, in the New project window click the Options tab. Under the Output elements section, the values are specified that will be used for Author and Legal in the header of any of the output files:

ApexSQL Diff optional output elements

Selected comparison options – This section displays the selected project comparison options. If an option is ON (checked), it is marked with a: ApexSQL Diff showing checked options

ApexSQL Diff selected comparison options

Selected report options – This section displays what was selected in the HTML report options dialog. If the option has been selected, it is marked with a:

ApexSQL Diff and ApexSQL Diff for MySQL selected report options

Objects compared – This section displays which SQL object types are included in the comparison. If SQL object type has been selected, it is marked with a: Showing selected objects that are compared

ApexSQL Diff selected objects that are compared

Comparison summary – This section shows the total number of compared objects for each object type. The Name column shows the object type names, the Equal column shows the number of equal objects, the In source/destination only column shows the number of objects that exist only in the source or destination data sources, and the Different column shows the number of different objects:

ApexSQL Diff comparison summary

Comparison results by object – The most comprehensive section in the report. This section displays comparison results information for individual objects. Objects are arranged by type:

After expanding the desired section, the detailed list of objects will be displayed:

ApexSQL Diff comparison results by object

In the table view, details about each object can be easily seen: object name, object schema, where the object exists (In source and In destination columns), and whether and what is the difference between objects in source and destination databases (the Diff type column).

The Diff type column can have one of the following values:

 – indicates that compared objects are equal

 – indicates that compared objects differ

 – indicates that an object exists only in the source and not in the destination source

– indicates that an object doesn’t exist in the source, but it does in the destination source

If database objects are mapped with a different schema, both schemas will be displayed in the result:

As seen in the screenshot above, the Departments table has the Production schema in the source and the HumanResources schema in the destination data source (Production /HumanResources).

Learn more about mapping objects with different schemas from the article, How to create custom schema mappings.

If the name of the object is clicked on, script level differences can be seen after expanding Scripts and/or Differences section positioned straight below. Scripts and Differences sections are of fixed height and height cannot be scaled by changing the browser window size.

Scripts – This section displays DDL scripts for each pair of the objects compared. Besides being able to display object level differences, ApexSQL Diff and ApexSQL Diff for MySQL can display the object script difference for each compared object as well. If objects are different, it displays exact differences on the script level using a different color. When the object is clicked, the source SQL object script will be shown at the left side and destination object is on the right side in the Scripts section:

ApexSQL Diff and ApexSQL Diff for MySQL showing DDL scripts for each pair of the objects compared

Differences – This section displays which SQL object types contain different SQL objects. If a difference exists, the SQL object type is marked with a:

Differences section displays which SQL object types contain different SQL objects