Bug #54748 Workbench does not Synchonizes with MySQL
Submitted: 23 Jun 2010 16:41 Modified: 2 Sep 2010 13:44
Reporter: Zoltán K.Szabó Email Updates:
Status: Closed Impact on me:
Category:MySQL Workbench: Modeling Severity:S2 (Serious)
Version:5.2.24 OS:Any (Windows XP Professional, Mac OS X)
Assigned to: Alfredo Kojima CPU Architecture:Any

[23 Jun 2010 16:41] Zoltán K.Szabó
Running Workbench in "Synchronizing Model with Database" the system connects to MySQL. Following this it does not bring up any Schemata to select to run sync further on. The same works fine with 5.1.18 General Availability on the same hardware. 

How to repeat:
Repeating it, the trouble comes up all time.

Suggested fix:
Scale back to earlier Workbench solves this.
[25 Jun 2010 9:56] Susanne Ebrecht
Many thanks for writing a bug report.

I am not able to follow you.

Please describe step by step what you did and where you think there is a bug.
[25 Jun 2010 14:49] Zoltán K.Szabó
Screen Shots to show Sync stop.

Attachment: MySQL_ErrorScreens.doc (application/msword, text), 458.50 KiB.

[25 Jun 2010 14:54] Zoltán K.Szabó
Third screen in the attached screenshot doc file shows that the sync process can not fetch either of the existing schemata to process. Thus the process can't be moved forward.
[26 Jun 2010 10:25] Valeriy Kravchuk
Do you have schema with the same name as in the model in your MySQL server already?
[26 Jun 2010 18:18] Zoltán K.Szabó
I have currently an empty, just installed 5.1.48 community version MySQL with "information_schema", "mysql" and "test" databases while Workbench has two, the one as standard "mydb" while the one of mine with "carbon". 
This same goes fine with 5.1.18 OSS version. 
Could a problem be related to re-installing newer versions of both Wbench and MySQL?
[27 Jun 2010 12:30] Valeriy Kravchuk
I can confirm that whenever one has in Workbench schema with a name that does not have corresponding database already created on server, empty list of databases to synchronize with is generated (and there is no way to proceed). 

Workaround is to create empty database on server before trying to synchronize for the first time.

Verified on Mac OS X 10.5.x.
[27 Jun 2010 18:32] Zoltán K.Szabó
Thanks, I am fine with this answer and can have the workaround as mentioned.
[28 Jun 2010 7:46] Mike Lischke
Well, it is necessary to remind the difference between synchronization and forward engineering. Synchronization means to line up two objects to have the same content. Objects are schemas here. In order to do that you have to create a connection between the model and the schema you want to synchronize. This is usually done by reverse engineering that schema. If you only have a model and no schema yet then you must forward engineer that model to create the schema, otherwise there is nothing to sync to.

However, I admit, it is not so easy, especially for WB beginners, to see the difference and actually it should not really matter, as synchronization could establish a connection when needed instead of needing one established in advance. Hence this bug report stays as "worklog". It requires extensive rework in WB, though.
[28 Jun 2010 8:45] Michael G. Zinner
Please add a text comment to the Wizard, explaining this case. It is not obvious to novice users.

Then this bug can be closed.
[29 Jun 2010 9:55] Valeriy Kravchuk
Bug #54892 was marked as a duplicate of this one.
[19 Jul 2010 12:47] Alexander Miloslavskiy
Desperately digging into a similar issue, I found another cause.
If your model's name contains uppercase letters (e.g. 'Website'), it will be all lowercase in live, e.g. 'website'. In this case, 'Select schemata' step presents no options.

Workaround: right click your schemata in main window, select "Edit schemata" and replace all letters with lowercase.
[19 Jul 2010 12:52] Alexander Miloslavskiy
I would like to additionally point out that the lowercase-uppercase discrepancy is not due to user's actions. I have created a model with its name starting with uppercase letter, and forward engineered that model, hence creating the initial live database. There were no database before I engineered it from model with uppercase letter.
[25 Aug 2010 1:05] Alfredo Kojima
Case sensitivity is a different bug, I have created bug #56237 for that.
[25 Aug 2010 2:00] Alfredo Kojima
The sychronize DB wizard has been changed recently to show all schemas in model, regardless if they exist in DB. In addition, the following changes have been made:
- show list of schemas that exist in model but are missing from DB server, with a note recommending Forward Engineer
- do not auto-select schema names in model but not in DB
[25 Aug 2010 11:53] Johannes Taxacher
fix confirmed in repository
[2 Sep 2010 13:44] Tony Bedford
An entry has been added to the 5.2.27 changelog:

The Sychronize Model With Database wizard has been changed recently to show all schemata in a model, regardless of whether they exist in the live database or not. In addition, the following changes have been made:

The wizard shows a list of schemata that exist in the model but are missing from the live server, with a note recommending the use of the Forward Engineering wizard.

The wizard does not auto-select schemata names that are in the model but not in the live database.