MySQL Workbench - 如何同步EER图

时间:2010-03-09 15:27:29

标签: mysql mysql-workbench eer-model

我正在使用MySQL Workbench创建现有数据库的可视化表示,并且我能够将模型与“Database - > Synchronize Model ...”菜单同步。但是,每次我同步(更新)我的模型时,我都必须重新创建EER图并重新排列所有表。有没有办法更新或同步EER图?感谢。

4 个答案:

答案 0 :(得分:53)

  • 数据库>同步模型......
  • 选择存储的连接
  • 选择Schemata
  • 选择要更新的内容:模型或来源(在您的情况下,指向模型的箭头)

答案 1 :(得分:2)

您是否有机会使用不支持外键的MySQL数据库引擎(例如MyISAM?)?因此,表之间的关系不会保存在MySQL服务器上,并且在与工作台同步时会丢失。

但我意识到这只是你问题的“原因”。我不能提供一个能够在不使用支持外键的引擎的情况下保留您的安排的答案,例如: InnoDB的。

答案 2 :(得分:1)

当我有超过3个表要同步,关系发生变化时,我改变箭头方向(模型< - source),检查“跳过DB更改并仅更新模型”并执行...

模型和数据库同步的进度窗口挂起,突出显示“将更改应用于模型”。没有处理器工作,没有动作......

我单击窗口的X并再次重做该过程。单击数据库,忽略(全部),然后选择较少的表进行更新。

v.5.2.44 ce rev 9933

编辑:版本5.2.47更正此错误! é!

答案 3 :(得分:1)

我遇到了这个问题的变种 - 不知何故,当我从数据库更新模型时,我的一个表及其相应的可更新视图将无法更新。

我相信发生的事情是模型实际上是在更新,而不是图表。我起初并没有真正做出区分。

无论如何,这里是如何在E / R图上进行刷新的:

  1. 从图中删除非更新对象。 (只需右键单击并选择"删除"。)
  2. 在左侧边栏的目录视图中查找对象。
  3. 将它们拖回图表。
  4. 现在他们应该反映模型(如果您按照上面接受的答案,它应反映数据库。)