在 Ubuntu 14.10 上运行 mysql-workbench 时,我在 GUI 中遇到意外行为。如果我双击 EER 图编辑器中的表,我将看不到列及其属性的列表。我的屏幕如下所示:
当我双击图表编辑器中的表格时,预期行为是列出表中的每一列及其在粉色突出显示区域内的属性。我应该能够修改、删除和添加列。
为什么我会看到这种行为以及如何解决它?
请您参考如下方法:
我可以确认您所看到的行为。它不适用于 Ubuntu 14.10,但适用于 Ubuntu 14.04。我用mysql-workbench
在 Debian Wheezy 上具有预期的行为。所以你的问题引起了我的注意,因为它似乎是一个错误。
我从命令行运行它以查看控制台上的内容。当将 EER 图编辑器与示例模型一起使用时,我看到了一个空白 Pane ,其中应列出列及其属性。控制台显示这些意外的断言:
(mysql-workbench-bin:52041): GLib-GObject-WARNING **: attempting to add an interface (GtkTreeDragDest) to class (gtkmm__CustomObject_16ListModelWrapper) after class_init
(mysql-workbench-bin:52041): GLib-GObject-WARNING **: attempting to add an interface (GtkTreeDragSource) to class (gtkmm__CustomObject_16ListModelWrapper) after class_init
(mysql-workbench-bin:52041): Gtk-CRITICAL **: IA__gtk_tree_view_set_model: assertion 'model == NULL || GTK_IS_TREE_MODEL (model)' failed
还有更多的错误,但我已经缩短了列表。这些断言向我表明,在创建列数据所在的 Pane 时存在错误。这种情况不仅发生在列数据上,而且发生在底部的大多数 Pane 上。
我从事一个开源项目,该项目在 Ubuntu 14.10 上也存在问题,并且还涉及出现在以前未出现过的地方的 Glib 断言。 Glib 开发人员已经开始在他们的代码中添加更多断言来识别软件错误。类似的情况可能也适用于此。就该项目而言,我认为断言表明我们的项目代码存在问题,而较新版本的 Glib 导致我们的代码失败。
考虑到这一点,我查看了 Ubuntu 启动板网站。有这个bug report标题为Workbench not showing tables or query results in raring
该问题于去年开放,但现在人们也发现了 14.10 的问题(很多是在过去一周发生的)。我相信这与你所看到的有关。我还观察到此时有近三打人报告了问题。您可以创建一个帐户并将自己添加到遇到问题的人员列表中。
有好消息和坏消息。 MySQL 工作台开发人员有 identified and fixed他们最新版本中的问题。 MySQL 错误报告链接是这样说的:
Posted by developer:
Fixed as of the upcoming MySQL Workbench 6.2.4 release, and here's the changelog entry:
On Linux, the query result view did not populate with libglib version 2.42 and above.
不幸的是,Ubuntu 的官方存储库中还没有补丁或解决方案。还。我认为你有几个选择:
- 在修复错误并且 Ubuntu 发布新版本的 mysql-workbench 之前,请勿在 Ubuntu 14.10 上使用 mysql-workbench。
- 使用旧版本的 Ubuntu(例如 14.04),因为它使用旧版本的 GLib,因此可以正常工作
- 下载源代码并在源代码发布后构建您自己的 MySQL Workbench 6.2.4 或更高版本。截至撰写本文时,源代码尚未正式发布。
- 使用此 patch 从 MySQL Workbench 6.2.3 的源代码下载并构建。此补丁在上面链接的 MySQL 错误报告中提供。