Group and filter comparison results

This topic explains how to group and filter comparison results in the results grid.

Group comparison results

Schema comparison results can be grouped by:

  • Status: only in source, different, equal. By default, comparison results are grouped by status.
  • Object type: tables, views, procedures, functions, and triggers.
  • Operation: create, update, none.

You can change grouping by using one of the following ways:

  • Right-click the document grid and select Group By > required group.
  • On the toolbar, select the required group from the Group by dropdown list.

Change grouping

Filter comparison results

The Objects Filter enables you to include or exclude database objects in schema comparison results and synchronization. You can filter objects by type, name, or other criteria. You can also apply multiple filters and create custom filters using Filter Editor.

Open Objects Filter

Objects Filter opens automatically after you run a schema comparison.

If Objects Filter is closed, you can open it in one of these ways:

  • On the Comparison toolbar, click Objects Filter.

  • Right-click the schema comparison grid and select Objects Filter.

  • Press Ctrl+L.

Note

Objects Filter retains your filter selections even when it is closed, and preserves them when you update or re-run a schema comparison.

Objects Filter

Objects Filter toolbar

You can use the toolbar to manage filters.

Objects Filter toolbar

The table describes the toolbar options.

Icon Name Description
Open an existing filter Open an existing filter Loads a previously saved custom filter.
Save Save Saves the schema comparison object filter to an .scflt file, either by creating a new file or by updating the current filter file.
Delete the current file Delete the current file Deletes the current user-defined schema comparison object filter file.
Discard Changes Discard Changes Reverts the filter settings:
  • If the filter was saved to a separate file, dbForge Studio restores the settings to the state they were in when the filter was saved.
  • If the saved .scomp file was reopened, and the filter was restored from it, dbForge Studio restores the settings to the state they were in when the file was loaded.
Close the Objects Filter tree   Closes Objects Filter.

Note

Delete the current file is available for filter settings saved to the filer or opened from it but is unavailable for the Nothing excluded and Custom* filters.

Save is unavailable only for the Nothing excluded filter.

Warning

If you reload the same filter, the message This filter has already been loaded. Overwrite? appears. Click Yes to confirm the operation. Click No to cancel.

Filter box

The Filter box shows the available filters:

  • Nothing excluded – The default filter.
  • Custom* – A modified version of the Nothing excluded filter.
  • User-defined filter (for example, MyFilter) – A filter saved as an .scflt file and loaded by a user.

An asterisk (*) in the filter name indicates unsaved changes.

You can select a filter directly from the Filter box.

Select a filter from the Filter box

Warning

Switching to another filter or closing Objects Filter discards any unsaved changes, so save your changes before performing these actions.

Objects Filter tree

The Objects Filter tree lists the database objects on the specified server. The objects appear in alphabetical order.

Objects Filter tree

Filter objects by types

By default, all object types are included in the comparison results and synchronization.

Include object types

To include an object type, select the checkbox for the corresponding type, or click its name.

To include all object types, select All object types, or click its name.

Exclude object types

To exclude an object type, clear the checkbox for this type, or click its name.

To exclude all object types, clear All object types, or click its name.

Note

Excluding an object or object type removes it from the comparison results and from synchronization.

Warning

If an object selected for synchronization references an excluded object, you can include the excluded object later on the Dependencies page of the Schema Synchronization Wizard.

Save filters

You can save the schema comparison object filter to an XML file with the .scflt file extension.

To save a filter:

1. On the Objects Filter toolbar, click Save, then select Save or Save As.

2. In the Save As dialog, specify the file name and select the folder to store the file.

3. Click Save.

The .scflt file is a regular XML file that can be edited with any text editor. It stores all object types, their synchronization status (True for included, False for excluded), and any associated filter rules. The filter settings are located within the FiltersCollection tag.

  • Checked – Shows whether the database object type is included (True) in the comparison or not (False). It can be left empty when included but modified with a certain filter rule.
  • Filter – Contains an object name mask to filter objects by. It is empty by default.
  • Include – Indicates whether the filter rule includes (True) or excludes (False) objects.
  • ObjectName – The name of the database object type that the filter refers to.

File with all object types, synchronization status, and associated filter rules

Create a filter rule

1. In the Objects Filter tree, click Edit Filter for an object type to open the Filter Editor dialog.

2. In Filter rule for, select a specific object type to apply the filter, or select All object types to apply the filter to all objects.

Available object types for which you want to create or update a filter

3. Select Include objects if (default) to include objects that meet the condition, or select Exclude objects if to exclude objects that meet the condition.

4. Click the logical operator placeholder, then select the operator:

  • And – Displays the records when both conditions are True.
  • Or – Displays the records when at least one of the conditions is True.
  • Not And/Not Or – Reverses the logic of the specified conditions.

Note

When you click the upper-level operator, you can also add a new condition or a new condition group, or clear all conditions.

5. To add a filter rule, click Add a condition.

Add a new condition or group

6. Click the Source Object placeholder and select the item.

The table describes the source objects supported in the editor.

Name Description
Operation A synchronization operation for the target database:
  • Create – Adds the object to the target database.
  • Update – Modifies the object in the target database to match the source.
  • Drop – Removes the object from the target.
  • None – No changes are applied to the target.
Source Object A name of the object in the source schema.
Target Object A name of the object in the target database.
Source Owner A schema to which the object belongs in the source database.
Target Owner A schema to which the object belongs in the target database.
Status A status of the object as the result of schema comparison:
  • Only in Source – Objects that exist only in the source schema and can be created in the target schema during schema synchronization.
  • Different – Objects that exist in source and target schemas but have different DDL definitions.
  • Only in Target – Objects that exist in the target schema and can be dropped from the target schema during schema synchronization.
  • Identical – Objects that are identical and exist in both schemas.
  • Inconsistent – Objects that exist in both schemas but are inconsistent and cannot be compared or synchronized.
Type A type of the database object.

Add a new condition filter icon

7. Click the operator placeholder (default: =) and select the filter operator for the condition, such as =, <, or <>.

8. Click the value placeholder and select the value from the list.

Add a new condition filter

Remove conditions

To remove a condition, use one of these ways:

  • Click Remove a condition for the required condition.

  • Press the Minus Sign key.

Remove condition groups

To remove a condition group, click Remove a condition for the required condition group.

Note

Pressing the Minus Sign key removes only one filter rule in the group.

Reset to default state

To clear all conditions and revert the editor to its default state, in the Filter Editor, click Reset.

Discard changes

To close the dialog without saving changes, click Cancel.

Revert filter settings

To revert filter settings to the last saved or loaded state, or to the defaults values, on the Comparison toolbar, click Discard Changes.

Filter objects for synchronization

The filter defines which objects will be displayed in the Comparison results document and which objects can be selected for synchronization. Objects or object types, which have been excluded by the filter, will be deleted from the comparison results and cannot be selected for synchronization.

However, if the excluded object is referenced by the objects that you selected for synchronization, you will be notified of this dependency. You can choose the excluded object for synchronization in the Schema Synchronization Wizard on the Dependencies page.

Filter objects for synchronization from the command line

In addition, you can filter objects for synchronization from the command line. To apply the filter to the objects from the command line, do the following:

1. Open the Command Prompt.

2. Use cd to navigate to the installation folder of dbForge Studio for MySQL that contains the dbforgemysql.com executable. The default path to this executable depends on where dbForge Studio for MySQL is installed. If you installed dbForge Studio:

  • As a standalone tool
C:\Program Files\Devart\dbForge Studio for MySQL
  • As part of the dbForge Edge bundle
C:\Program Files\Devart\dbForge Edge\dbForge Studio for MySQL

3. In the Command Prompt, execute the following:

dbforgemysql.com /schemacompare /compfile:"D:\MyComparison.scomp" /filter:"D:\Custom_filter.scflt"

where:

  • MyComparison.scomp – The full path to the file containing the comparison of two MySQL databases.
  • Custom_filter.scflt – The full path to the file containing the filter settings.

The result can be as follows:

Result