Bug #63934 | Forward engineering doesn't generate foreign key for self references | ||
---|---|---|---|
Submitted: | 5 Jan 2012 13:18 | Modified: | 10 Jan 2012 12:52 |
Reporter: | Karsten Wutzke | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Workbench | Severity: | S1 (Critical) |
Version: | 5.2.37 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | regression |
[5 Jan 2012 13:18]
Karsten Wutzke
[5 Jan 2012 13:35]
Valeriy Kravchuk
Thank you for the bug report. Verified with your .mwb file uploaded on Windows XP.
[5 Jan 2012 23:17]
Alfredo Kojima
Have you tried setting the storage engine of the tables to InnoDB?
[6 Jan 2012 0:37]
Karsten Wutzke
I set every table to "Server Default". Where do you find the true value then? (Sorry I'm on a fresh system and I don't remember all the configs I made.)
[6 Jan 2012 0:41]
Karsten Wutzke
Is it under Model -> Model Options... -> Diagram -> Default Stroage Engine? This option is set in the model to InnoDB.
[6 Jan 2012 14:03]
Alfredo Kojima
Tables without an Engine set are being treated as unable to support FKs. That will be changed, but meanwhile, a workaround would be to explicitly set the tables to InnoDB
[6 Jan 2012 22:12]
Karsten Wutzke
Actually the more comfortable workaround is not to use 5.2.37...
[10 Jan 2012 0:17]
Philip Olson
Fixed as of 5.2.38: Tables without an engine set were treated as though they were unable to support foreign keys. Therefore, the foreign key declaration would be missing after forward engineering these tables. A workaround is to explicitly set the table engine to InnoDB.
[10 Jan 2012 12:52]
Karsten Wutzke
Does the fix also work when "Server Default" is set and the model or global option is set to InnoDB for example?