To use Section 10.3, “MySQL Shell Plugins” with the
command-line integration, the functions must be explicitly
defined for CLI support. When an object defined in a
MySQL Shell Plugin is enabled for command-line integration,
only the specific functions that were
enabled are available for CLI calls. When you add function
members to an object, they support the cli
boolean option. When cli
is set to
true
, the function is available from the
command-line integration. The cli
option
defaults to false, therefore functions are not available from
the command-line integration unless specifically enabled. Any
object with a function that has the cli
option enabled causes its parent objects to be available in
the command-line integration as well.
To make a function available through the command-line
integration, set the cli
option to
true
when you add the extension object
member. For example:
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"
}
]
});
You could then use the exampleFunction()
function from the command-line integration as follows:
mysqlsh -- customObj exampleFunction 1
If you have added an extension object member using a
MySQL Shell version earlier than 8.0.24, and you want to use
it with the command-line integration, you must enable the
cli
option. Use the
addExtensionObjectMember
method as
illustrated here to add the object member again, this time
enabling the cli
option.