Bug #73770 Make the synchronizer display the actual differences
Submitted: 29 Aug 2014 11:49 Modified: 5 Feb 2018 5:11
Reporter: Georgi Sotirov Email Updates:
Status: Verified Impact on me:
Category:MySQL Workbench: Modeling Severity:S4 (Feature request)
Version:6.3.10 OS:Any
Assigned to: CPU Architecture:Any

[29 Aug 2014 11:49] Georgi Sotirov
It would be great if the synchronization of model with a database is displaying the actual differences between the model and database, as it's currently giving only the script to be applied into the database. However, it's sometimes quite hard to understand the actual difference, but the dialog for synchronization is modal, which makes it inconvenient to go compare the definition of the object into the database yourself. Moreover it's sometimes hard and even impossible to comprehend the difference.  For example:
* I'm currently having a model where for one table the synchronizer decides to first drop an unique index and then recreate it, but index's definition doesn't differ between the model and schema and even after the synchronization script is executed, the next time the synchronizer is ran it generates the same script. I cannot understand why.
* For another table I have ADD INDEX and DROP INDEX (in this consequence) generated by the synchronizer for an index related to foreign key, which doesn't make sense as the index is properly defined into the database.
* For most of the triggers the synchronizer includes their definitions into the script, but none of these have differences, so I'm not certain whether the synchronization is worth it or not. Also not knowing the actual difference for such stored objects could mislead into overwriting and object changed directly in the schema with an old definition from the model.

Thus, if one is able to review the actual differences he/she would be able to properly consider them and decide on the best way to proceed. Such a functionality exists in Oracle SQL Developer for Database diff tool and it's really convenient, because you know all the details.

How to repeat:
Unfortunately, I'm not able to provide the model, as it's proprietary.

Suggested fix:
Improve the synchronizer by adding comparison of the actual differences between the synchronized objects.
[12 Jul 2016 16:33] Georgi Sotirov
Fix typo in synopsis.
[5 Feb 2018 5:11] MySQL Verification Team
Hello Georgi,

Thank you for the feature request.