MySQL 工作台  / 附录 C 扩展工作台  /  C.3 插件和工具

C.3 插件和工具

插件是通过 Workbench GUI 向用户公开的特殊模块。这通常使用主菜单或上下文相关菜单来完成。许多 MySQL Workbench 功能是使用插件实现的;例如,表、视图和例程编辑器是原生 C++ 插件,正向和反向工程向导也是如此。MySQL Workbench 中的管理员工具完全作为 Python 中的插件实现。

插件可以是一个简单的功能,它对输入执行一些操作,并在没有与用户进一步交互的情况下结束。这方面的示例包括自动排列图表或对对象进行批量更改。要创建一个简单的插件,函数必须位于模块中并使用对象的 plugin装饰器 声明为插件ModuleInfo

插件可以有无限期的运行时间,例如当它们由用户通过图形用户界面驱动时。MySQL Workbench 中的对象编辑器和向导就是这种情况。虽然必须以通常的方式声明向导类型的插件,但只需要在插件函数中执行插件的入口点,因为大多数附加功能将作为用户与 GUI 交互的结果被调用.

笔记

重新加载插件需要重新启动 MySQL Workbench。

导入的插件文件(及其编译的对应文件)存储在这里:

表 C.3 用户插件文件位置

操作系统 文件路径
视窗 %AppData%\MySQL\Workbench\modules
苹果系统 ~用户名/Library/Application Support/MySQL/Workbench/modules
Linux ~用户名/.mysql/workbench/modules

使用此语法声明插件:

@ModuleInfo.plugin(plugin_name, caption, [input], [groups], [pluginMenu])

这些参数定义如下:

  • plugin_name:插件的唯一名称。它只能包含字母数字字符、点和下划线。

  • caption:用于菜单中插件的标题。

  • input:输入参数的可选列表。

  • groups:插件所属组的可选列表。公认的价值观是:

    • Overview/Utility:模型概述中的 上下文菜单。

    • Model/Utility:图表对象的菜单。

    • Menu/<category>:主菜单中的 插件菜单。

  • pluginMenu:插件菜单中应显示插件的子菜单的可选名称。例如,目录对象实用程序。这相当于Menu/<category>在组列表中添加一个。