Bug #83832 synchronize model with database does not work
Submitted: 15 Nov 2016 16:04 Modified: 8 Mar 2018 9:15
Reporter: mike coutinho Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:6.3.8 OS:MacOS (10.10.5)
Assigned to: CPU Architecture:Any

[15 Nov 2016 16:04] mike coutinho
Description:
The synchronize model with database tool available in the MySQL Model does not work consistently or at all. It is untrustable in its current form.  

I started off with my model and tried to synchronize with my target database schema.  After many attempts of making the structure the same, I blasted my model with the current target database from production.  After that the sync tool registered every item as correctly synchronized.

I pulled a copy of my production database and installed it on another server.  There were synchronization errors.  The copy was pulled after I had already synchronized with the model, so it should have been the same, but it wasn't.  

I also just had an issue where I made a couple changes in the model and attempted to push those changes to my production and test databases.  I ran the synchronize at least a dozen times trying to get the 4 changes I had over.  None of the changes would correctly go over and every time I ran the sync tool it would say that the same 4 changes still needed to be applied.  A visual comparison of the tables confirmed that they were exactly the same.  

Also, on the synchronization tool, it would be very handy to have the columns at the top sortable when you are previewing the proposed changes.  Right now it is sorted in some random fashion and I can't easily see what changes are to be applied without scrolling around all over the place.  Clicking on the header at the top of the columns doesn't do anything.  

How to repeat:
Try synchronizing a model with a target source.  Read description above for more information.

Suggested fix:
don't know enough to comment
[22 Nov 2016 23:46] MySQL Verification Team
Thank you for the bug report. Are you able to provide the offended model file (private if you wish using the Files tab)?. Thanks in advance,
[23 Nov 2016 15:18] mike coutinho
I can possibly provide the file, but i am not sure if it will do you much good as you don't have my database to synchronize with.  What are your thoughts on that?

I did just experience a problem with this where I have a synchronize and on one of my after update triggers, I have a correct new version in my model, the synchronize does not see the changes.  The trigger in production has 15 lines of code that are commented out in the model, but the sync does not show that the item has changed.
[23 Nov 2016 20:44] MySQL Verification Team
Thank you for the feedback. Yeah in this case I need a test case with script to create the database and a model file to synchronize involving just the relevant parts otherwise will be hard to repeat the bug here. Thanks.
[23 Nov 2016 22:06] mike coutinho
I just uploaded a video of the problem I am experiencing.  If you could watch it and let me know what I should try, that may be a way of trying to diagnose this problem.  If I send over the model and a copy of the database, I am not sure you will be able to create an environment that duplicates the problem.  It could be a specific environment variable that I have that is causing the problem, but I only have this model and four database servers I deal with, and this problem happens on all of them.  

the file was uploaded to the sftp.oracle.com server for support/incoming and is called mysql-bug-data-83832.zip

mike
[6 Dec 2016 4:27] mike coutinho
I had a problem with some data not doing what I expected in my production environment.  I tried to use the synchronize function again.  I couldn't understand why the change I had made in my test environment wasn't in the production environment and the sync wasn't picking it up.  

On further examination, the trigger that was not being synchronized did not have the "begin" at the top of it.  Workbench wasn't throwing an error and wasn't correctly working with this trigger.  On some old copy I had done, it didn't bring over the "begin" and was not detected by the application. 

I went back and tried to watch the video I had submitted to see if this exactly was the case, but I never scrolled up to that section at the top.  I also went into a trigger and removed the "begin" to try to replicate what I had done, it does correctly throw an error to the left, sometimes on the line that should have the "begin" other times a couple lines down in my code depending on where it decides to do this. 

So i don't think i can exactly repeat this, but I know that by adding the "begin" in my model trigger, that the sync did correctly work the way that it should.  

Does this help at all?

thanks

mike
[8 Feb 2018 9:15] MySQL Verification Team
I couldn't repeat with 6.3.10, please try this version. Thanks.
[9 Mar 2018 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".