-3

在 Ubuntu 14.10 上运行 mysql-workbench 时,我在 GUI 中出现意外行为。如果我双击 EER 图编辑器中的表,我将看不到列及其属性的列表。我的屏幕如下所示:

我的本地工作台截图

当我在图表编辑器中双击表格时,预期的行为是列出表格中的每一列及其在粉红色突出显示的区域内的属性。我应该能够修改、删除和添加列。

为什么我会看到这种行为,我该如何解决?

4

2 回答 2

1

我可以确认您所看到的行为。它不适用于 Ubuntu 14.10,但适用于 Ubuntu 14.04。我mysql-workbench在 Debian Wheezy 上使用了预期的行为。所以你的问题引起了我的注意,因为它似乎是一个错误。

我从命令行运行它以查看控制台上的内容。在将EER 图编辑器与示例模型一起使用时,我看到一个空白窗格,其中应列出列及其属性。控制台显示这些意外断言:

(mysql-workbench-bin:52041): GLib-GObject-WARNING **: 在 class_init 之后尝试将接口 (GtkTreeDragDest) 添加到类 (gtkmm__CustomObject_16ListModelWrapper)

(mysql-workbench-bin:52041): GLib-GObject-WARNING **: 在 class_init 之后尝试将接口 (GtkTreeDragSource) 添加到类 (gtkmm__CustomObject_16ListModelWrapper)

(mysql-workbench-bin:52041): Gtk-CRITICAL **: IA__gtk_tree_view_set_model: 断言'model == NULL || GTK_IS_TREE_MODEL(模型)'失败

还有更多的错误,但我已经缩短了列表。这些断言向我表明,在创建列数据所在的窗格时存在错误。发生这种情况的不仅是列数据,而且在底部的大多数窗格中。

我在一个开源项目上工作,该项目在 Ubuntu 14.10 上也存在问题,它还涉及 Glib 断言出现在以前没有出现的地方。Glib 开发人员已经开始在他们的代码中添加更多断言来识别软件错误。类似的东西可能适用于此。在我维护的项目的情况下,断言表明我们的项目代码存在问题,并且较新版本的 Glib 使我们的代码失败。

考虑到这一点,我查看了 Ubuntu 启动板站点。有这个标题为去年打开的错误报告,但人们现在也发现了 14.10 的问题(很多在过去一周)。Workbench not showing tables or query results in raring我相信这与您所看到的有关。我还观察到此时有近 3 打人报告了问题。您可以创建一个帐户并将自己添加到遇到问题的人员列表中。

有好消息也有坏消息。MySQL 工作台开发人员已在其最新版本中识别并修复了该问题。MySQL错误报告链接有这样的说法:

开发者发布:

在即将发布的 MySQL Workbench 6.2.4 版本中已修复,这是更改日志条目:

在 Linux 上,查询结果视图未填充 libglib 版本 2.42 及更高版本。

不幸的是,Ubuntu 在其官方存储库中还没有补丁或解决方法。我认为你有几个选择:

  • 不要在 Ubuntu 14.10 上使用 mysql-workbench,直到 bug 得到修复并且 Ubuntu 发布了新版本的 mysql-workbench。
  • 使用旧版本的 Ubuntu(如 14.04),因为它使用旧版本的 GLib
  • 下载源代码并在源代码发布时构建您自己的 MySQL Workbench 6.2.4 或更高版本。在撰写本文时,源代码尚未正式发布。
  • 使用此补丁从 MySQL Workbench 6.2.3 的源代码下载和构建。这个补丁是在上面链接的 MySQL 错误报告中提供的。
于 2014-11-14T16:06:05.843 回答
0

仅从您的图像中就没有什么可说的了。因此,我将为您提供一些针对此问题的常见修复:

  • 关闭并重启 MySQL Workbench
  • 右键单击您的架构(或表),然后单击“刷新”
  • 右键单击列窗口(红色部分),然后单击“刷新”

有时会发生这种情况,并非所有程序都是完美的(您加载了大量数据)。

于 2014-11-13T06:23:32.730 回答