Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.
Note: SQL Server 2000 does not support this feature. For Oracle server, BLOB, CLOB, NCLOB, LONG and LONG RAW data are skipped during the data synchronization process. TIMESTAMP primary key cannot synchronize (insert, update) with Database Link to 9i server. RAW primary key cannot synchronize (insert, update, delete) with Database Link to any server, without error.
Note: Available only for MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB, MongoDB and Snowflake. Navicat Premium and Navicat for MySQL support synchronizing between MySQL and MariaDB.
Navicat provides a step-by-step wizard for you to complete the task:
In the main window, choose Tools -> Data Synchronization.
Select the source connection, database, schema, and select the target connection, database, schema.
Hint: You can click
to swap the source and target settings.
Click Options and select the compare / advanced options.
Select the objects you want to synchronize, choose the mapping between the source and target, and set the compare conditions.
Click Compare & Preview to view the comparison results, or click Compare & Deploy to skip the preview and deploy immediately.
If previewing, review the differences and select the specific changes you want to apply to the target, and then click Next to generate a set of scripts.
Set the deployment options.
Click Start.
You can click the Options button to set the comparing options.
Option |
Description |
Insert records |
Insert records if the records do not exist in the target. |
Delete records |
Delete extra records from the target. |
Update records |
Update the target if the record is different from the source. |
In this step of the synchronization wizard, you define exactly how data aligns between your source and target databases or schemas:
By default, only tables or collections that share identical names between the source and the target are mapped in the list. If you do not want certain tables or collections to be synchronized, you can manually disable them using the drop-down list.
Keys and fields that contain identical names are also mapped automatically. If your structures differ, you can manually change these alignments in the Key Mapping and Field Mapping columns.
Use the Conditions column to set specific SQL filter criteria. This allows you to limit the data selected for comparison in both the source and the target. For example: id > 10000 AND id < 20000.
After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Uncheck the Show identical table and others / Show identical collection and others option to hide the tables/collections with identical data and the tables/collections with different structures. All tables/collections with different data and all actions are checked by default. Uncheck the checkbox that you do not want to apply to the target.
When you selected a table/collection in the list, the bottom pane shows data in the source and target. Values that differ between the source and target are highlighted. To view multiple lines data, right-click the grid and select Show Assistant Viewer. Uncheck the records that you do not want to apply to the target.
Choose an option from the drop-down list to show the data.
Option |
Description |
Difference |
Show all records that are different in the source and target. |
Insert |
Only show the records that do not exist in the target. |
Update |
Only show the records that exist in both source and target, but they have different values. |
Delete |
Only show the records that do not exist in the source. |
Same |
Show the records that exist in both source and target and they have identical values. |
All Rows |
Show all records in the source and target. |
You can view all scripts that will be executed in the target database in the Deployment Script tab.
Deployment Options Button |
Description |
Deployment Options |
Continue on error - Ignore errors that are encountered during the execution process if necessary. |
Reorder Script |
Open the Reorder Script window to rearrange the order of the scripts. |
Open Script in Query Editor |
Open a new query window and display the scripts. |
You can save your settings as a profile for future use or for setting up automation tasks. To open a saved profile, click the Load Profile button and select a profile from the list.
Hint: Profiles are saved under the Profiles Location.