10.3.2 创建插件组

您可以通过将多个 MySQL Shell 插件的文件夹放在文件夹下的包含文件夹中来创建插件组 plugins。插件组可以包含使用 JavaScript 定义的插件和使用 Python 定义的插件的组合。插件组可用于组织具有共同点的插件,例如:

  • 提供特定主题报告的插件。

  • 重用相同公共代码的插件。

  • 将功能添加到同一扩展对象的插件。

如果文件夹的子目录plugins不包含初始化脚本( init.jsinit.py 文件),MySQL Shell 将其视为插件组并在其子文件夹中搜索插件的初始化脚本。包含文件夹可以包含其他文件,这些文件具有由插件组中的插件共享的代码。至于插件的子文件夹,如果其名称以点 (.) 开头,则包含的文件夹将被忽略,否则名称对 MySQL Shell 并不重要。

例如,包含用户定义的 MySQL Shell 全局对象提供的所有功能的插件组 ext可以这样构造:

  • 该文件夹 C:\Users\exampleuser\AppData\Roaming\MySQL\mysqlsh\plugins\ext 是插件组的包含文件夹。

  • 插件的通用代码存储在这个文件夹中 C:\Users\exampleuser\AppData\Roaming\MySQL\mysqlsh\plugins\ext\common.py

  • 插件组中的插件存储在文件夹的子ext文件夹中,每个子文件夹都有一个 init.py文件,例如 C:\Users\exampleuser\AppData\Roaming\MySQL\mysqlsh\plugins\ext\helloWorld\init.py.

  • 插件从中导入通用代码 ext.common并使用其功能。