在MySQL Workbench中同步模型

Álv*_*lez 6 mysql synchronization data-modeling mysql-workbench

在阅读了MySQL Workbench的文档后,我得到的印象是可以更改服务器中的数据库(例如添加新列),然后将DDL更改合并到您的EER图中.至少,它在Database菜单中有一个Synchronize Model选项.我发现这是一个很好的功能,因为我可以使用图形建模工具而不会成为它的囚犯.

在实践中,当我运行这样的工具时,我提供了以下选项:

Model             Update  Source
================  ======  ======
my_database_name  -->     ! N/A
   my_table_name  -->     ! N/A
N/A               -->     ! my_database_name
   N/A            -->     ! my_table_name
Run Code Online (Sandbox Code Playgroud)

我不能真正理解它,但是我基本上得到它:

DROP SCHEMA my_database_name
CREATE SCHEMA my_database_name
CREATE TABLE my_table_name
Run Code Online (Sandbox Code Playgroud)

这是模型的转储,它会覆盖my_table_name中的所有远程更改.

我误解了这个功能吗?

Ari*_*tis 6

这是您可以遵循的真正错误.http://bugs.mysql.com/bug.php?id=61211还有一个mysql QA人员的解决方法:

解决方法是打开Scripting Shell,检查架构的名称,并确保oldName字段包含与您尝试同步的名称相同的名称.命令是:

# print current oldName value
print grt.root.wb.doc.physicalModels[0].catalog.schemata[0].oldName
# change the oldName field value
grt.root.wb.doc.physicalModels[0].catalog.schemata[0].oldName = "newname"
Run Code Online (Sandbox Code Playgroud)


Pet*_*ley 3

诚实地?我认为这是一个错误。我多次遇到同样的问题,但不确定问题是什么。

我建议检查错误存储库,如果您没有找到任何内容,请将其报告为新错误存储库。