Search code examples
mysqlforeign-keysstubrelationships

Reverse Engineering, no relationships after import my script to mysql workbench


For some reason i'm not able to open my model anymore, it's corrupted, so i'm trying to import from MySQL to create a new model for manipulating but always get this error when import it:

WARNING: Table `macrotelecom_django`.`perfil` not found. Stub was created.
WARNING: Table `macrotelecom_django`.`Agentes` : Foreign key `fk_Agentes_Perfil1` :     Referred column `macrotelecom_django`.`perfil`.`idPerfil` not found. Stub was created.
WARNING: Table `macrotelecom_django`.`usuariologin` not found. Stub was created.
WARNING: Table `macrotelecom_django`.`Agentes` : Foreign key `fk_Agentes_UsuarioLogin1` :   Referred column `macrotelecom_django`.`usuariologin`.`idUsuarioLogin` not found. Stub was created.
WARNING: Table `macrotelecom_django`.`clientes` not found. Stub was created.
WARNING: Table `macrotelecom_django`.`Albaran` : Foreign key `fk_Clientes_has_Productos_Clientes1` : Referred column `macrotelecom_django`.`clientes`.`idCliente` not found. Stub was created. 
WARNING: Table `macrotelecom_django`.`productos` not found. Stub was created.
WARNING: Table `macrotelecom_django`.`Albaran` : Foreign key `fk_Clientes_has_Productos_Productos1` : Referred column 
...

For some reason, it's not able to import foreign keys properly, always says 'table not found' when the creates always realize before constraints, what could it be?


Solution

  • This should be a case-sensitive issue as reported in MySQL bug report here.

    Potentially Workbench could check for lower_case_table_names variable value before starting reverse-engineering and adopt SqlIdentifiersCS as needed, but that migh lead to undesirable mix of casing in the model. For example several schemata were reverse-engineered from different DBMS that use different value for lower_case_table_names. So user has to explicitly set SqlIdentifiersCS parameter in Workbench and apply same rule set every time.