In the latest release of SQL Compare, we’ve added a brand new way to examine the differences between two objects in your database.
Until now, SQL Compare has relied on the SQL difference viewer to convey the differences between an object in the source database and its counterpart in the target database:
Don’t worry, this isn’t going anywhere, but many of you have told us that it can sometimes be difficult to see what the differences are with the SQL viewer alone. For example;
- Syntactic differences, like the addition or removal of trailing commas, are highlighted but are semantically irrelevant
- Columns in different orders in the source and target cause entire rows to be highlighted as different, when in fact there is no change at all
- Features that are often ignored, like constraint names, are still highlighted as different despite having no effect on any subsequent deployment
- Constraints that are inlined on one side but not the other result in both being highlighted as different, but in fact they are semantically identical
To make it easier to see the differences, SQL Compare 12.4 adds an alternative way of viewing the differences between objects in a database.
The brand new Summary view is a tab that sits alongside SQL view and provides a more concise breakdown of the differences between two objects. We’ve achieved this by getting rid of the SQL and showing only the semantic differences between objects in a much more structured way:
You can now clearly see the addition of a column, a modification to another, and a change to a primary key constraint in the example above.
We’ve also added some simple color coding to help you quickly identify what’s missing (grey), what’s identical (yellow), and what is being changed from source (green) to target (red).
This new way of checking the differences will eliminate a lot of the confusion that can be caused by noisy diffs in the SQL difference viewer.
But that’s not all…
Column ordering in SQL view
You also told us that it can be difficult to see column differences in SQL view because the order of columns is not always the same between the source and target. In SQL Compare 12.4, we’ve improved the SQL difference viewer so that it always displays the columns in an order that makes it clear exactly what the differences are:
Now that the columns are displayed in the same order on the left and right sides, it’s much more obvious that the only changes here are those relating to the
NOT NULL constraints.
Color highlighting in SQL view
In addition to improving how columns are ordered in the SQL difference viewer, we’ve also made changes to the colors used to show differences between the left and right sides, to match the new features in the Summary view.
Previously, the differences on both sides were shown in yellow. Now the differences in the source database are shown in green, and differences in the target database are shown in red.
By moving to this color scheme, commonly used in other diff viewer tools, we’ve increased the visual contrast, making it easier to see at a glance where the differences are between the source and target.
The change to the color scheme also makes it clearer that the changes to the source database, in green, will be added or applied to the target, and those changes to the target database, in red, will be removed or overwritten.
We hope you like the new features in SQL Compare 12.4. If you’re an existing customer, go to the update banner bar in the product to upgrade to the latest version, or click Help > Check for updates.
Also in Hub
It would be wrong to portray SQL Change Automation (SCA) as being suitable only for epic project deployments, of the sort described in my previous article. It can do smaller tasks as well. To demonstr...
Also in SQL Compare
One way to offer a better experience to our application users is to anticipate likely mistakes they could make, such as when filling in a web form, and provide them with a meaningful error message tha...
Also in Product learning
The SQL query that is used to produce the result that is inserted into the permanent table has its order specified by an ORDER BY statement. Relational tables are not ordered, so the ORDER BY is meani...
Also about SQL Compare
It's a tedious task to have to compare two versions of a SQL script, side by side, for example to find differences between the version of the script on Production, and the one on the Test system. As a...