Diff profile is the additional configuration file which contains a list of preset custom mappings and queries (in the future it is going to contain more). The goal of diff profiles is to allow customization of your work with particular database projects.
Custom mappings and ad hoc queries may need to be saved for future reuse. We can be interested in the result of some particular query and we don't want to enter this query once again for the same database pair after application restart. Moreover, we may want to use this query for any pair of instances of that database, for example dev vs staging, dev vs qa or qa vs prod.
And it can be not enough just to remember such a query or mapping and make it available for any database pair. We can work on different database projects - for example Inventory database and HR database. Queries saved for Inventory are not relevant for HR databases and when we work with any Inventory database pair we want to use only Inventory saved queries.
Or, some table names (such as User) are pretty common - so there is a big chance that both Inventory and HR databases both have a User table, but for some reason we want to save Custom mapping for that table. Inventory and HR databases may have different columns in the User table, so our custom mapping for HR's User table can be not applicable for the Inventory database. So they need to be saved separately.
The solution is to use Diff Profiles. We save Inventory custom mappings and queries to the Inventory diff profile and we do the same for the HR database. Each time we work with any Inventory database pair we enable the Inventory diff profile. And we switch to a different diff profile when we work on some different database project.
From the technical point of view, diff profile is just an XML file with *.dmtdp file extension. List of diff profiles is managed from the Home tab. You can create a new diff profile or attach an existing one created previously by you or your colleague.
The bound diff profile is a diff profile attached to the application. All bound diff profiles are listed on the Home tab and any bound diff profile can be loaded at any time. Only one diff profile can be loaded and made active, if we load some diff profile then any previously loaded profile becomes unloaded. Any (and only one) diff profile can be marked as 'Load on start' to be loaded automatically.
A number of related application dialogs and tabs have 'Save to diff profile' option:
Saved mappings and queries can be managed later using Diff profile editor tab.
Last updated: 2023-09-21