Navicat allows you to compare and modify the table structures and other objects with detailed analytical process. In other words, Navicat compares objects between two databases and/or schemas and states the differential in structure.
Note: Available only for MySQL, Oracle, PostgreSQL, 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 -> Structure 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.
Click Compare to show the differences between source and target objects.
Select the objects you want to synchronize.
Click Next to generate a set of scripts.
Set the deployment options.
Click Start.
You can click the Options button to set the database/schema comparing options. The options depend on the connection server type and sort in ascending order.
Option |
Description |
Compare auto increment value |
Check this option if you want to compare the auto increment values of tables. |
Compare character set |
Check this option if you want to compare the character sets of tables. |
Compare checks |
Check this option if you want to compare checks. |
Compare collation |
Check this option if you want to compare the collations of tables. |
Compare definers |
Check this option if you want to compare the definers. |
Compare events |
Check this option if you want to compare events. |
Compare excludes |
Check this option if you want to compare table excludes. |
Compare foreign keys |
Check this option if you want to compare table foreign keys. |
Compare functions |
Check this option if you want to compare functions. |
Compare identity last value |
Check this option if you want to compare the identity last values of tables. |
Compare indexes |
Check this option if you want to compare indexes. |
Compare owners |
Check this option if you want to compare the owners of the objects. |
Compare partitions |
Check this option if you want to compare table partitions. |
Compare primary keys |
Check this option if you want to compare table primary keys. |
Compare rules |
Check this option if you want to compare rules. |
Compare sequences |
Check this option if you want to compare sequences. |
Compare storage |
Check this option if you want to compare table storages. |
Compare table options |
Check this option if you want to compare other table options. |
Compare tables |
Check this option if you want to compare tables. |
Compare tablespace and physical attributes |
Check this option if you want to compare tablespace and physical attributes. |
Compare triggers |
Check this option if you want to compare triggers. |
Compare uniques |
Check this option if you want to compare table uniques. |
Compare views |
Check this option if you want to compare views. |
Drop with CASCADE |
Check this option if you want to drop the dependent database objects with the CASCADE option. |
Identifier Case Sensitivity |
Ignore or consider the case of identifiers when mapping, or use the server default setting. |
After comparing structures, the tree view shows the differences between the source and target databases or schemas. Check the objects you want to apply to the target. You can expand the table objects to view the detailed structure.
You can choose to group the objects in the tree views by object types or operations by selecting Group by object type or Group by operation.
Operation |
Description |
|
Object exists in both source and target databases/schemas, but they have different definition. The target object will be modified based on the source object. |
|
Object does not exist in the target database/schema. It will be created in the target. |
|
Object does not exist in the source database/schema. The target object will be deleted. |
|
Object exists in both source and target databases/schemas and they have identical definition. No operation will be applied. |
When you select an object from the comparison results, the DDL Comparison tab displays the statements for that object from both the source and the target databases side by side. Any differences in the statements, such as added, modified, or removed fields, are highlighted for quick identification.
Furthermore, the Deployment Script tab shows the specific scripts that will be executed on the target database to apply the selected changes.
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. 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.