要将第 10.3 节“MySQL Shell 插件”与命令行集成一起使用,必须明确定义函数以支持 CLI。当 MySQL Shell 插件中定义的对象启用命令行集成时,
只有启用的特定功能可用于 CLI 调用。从 MySQL Shell 版本 8.0.24 开始,当您向对象添加函数成员时,它们支持cli
boolean 选项。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
选项。