6

在阅读了 MySQL Workbench 的文档后,我的印象是可以更改服务器中的数据库(例如添加新列),然后将 DDL 更改合并到 EER 图中。至少,它在数据库菜单中有一个同步模型选项。我发现它是一个不错的功能,因为我可以使用图形建模工具而不会成为它的俘虏。

在实践中,当我运行此类工具时,会提供以下选项:

Model             Update  Source
================  ======  ======
my_database_name  -->     ! N/A
   my_table_name  -->     ! N/A
N/A               -->     ! my_database_name
   N/A            -->     ! my_table_name

我不能真正理解它,但保持原样我基本上得到:

DROP SCHEMA my_database_name
CREATE SCHEMA my_database_name
CREATE TABLE my_table_name

这是覆盖 my_table_name 中所有远程更改的模型的转储。

我误解了这个功能吗?

4

3 回答 3

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"
于 2011-06-28T08:26:27.100 回答
3

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

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

于 2010-04-15T15:28:46.167 回答
1

我总是用几次同步成功!但是今天我遇到了同样的问题-想知道方法吗?

所以我研究了 MySQL 的 BUG-Report 并找到了问题......

不要在数据库名称中使用大写字母或下划线

我也是:

  • 重命名我的数据库,
  • change the name of the model in the "Model Overview"
  • and change the name of the Default Schema, use in the "Connection Options".

And it works! ... now I have to change the name of the database in the applicationconfig ...

于 2013-05-22T13:39:41.930 回答