MySQL Shell 9.0  /  ...  /  支持 MySQL Shell 插件

5.8.2.5 支持 MySQL Shell 插件

为了使用 第 10.3 节“MySQL Shell 插件” 与命令行集成,必须为 CLI 支持显式定义函数。当在 MySQL Shell 插件中定义的对象启用命令行集成时,启用的特定函数可用于 CLI 调用。当您向对象添加函数成员时,它们支持 cli 布尔选项。当 cli 设置为 true 时,该函数可从命令行集成访问。cli 选项默认值为 false,因此函数不可从命令行集成访问,除非明确启用。任何具有启用 cli 选项的函数的对象会导致其父对象也可用在命令行集成中。

要使函数可通过命令行集成访问,请在添加扩展对象成员时将 cli 选项设置为 true。例如

shell.addExtensionObjectMember(object, "exampleFunction", exampleFunction,
                      {
                        brief:"Retrieves brief information",
                        details: ["Retrieves detailed information"],
                        cli: true,    
                        parameters:
                        [
                          {
                            name: "param_a",
                            type: "string",
                            brief: "param_a brief"
                          }
                        ]
                      });

然后,您可以从命令行集成使用 exampleFunction() 函数,如下所示

mysqlsh -- customObj exampleFunction 1

如果您使用的是早于 8.0.24 的 MySQL Shell 版本添加了扩展对象成员,并且您想将其与命令行集成一起使用,则必须启用 cli 选项。使用此处所示的 addExtensionObjectMember 方法再次添加对象成员,这次启用 cli 选项。