要将您定义的用户定义报表注册到 MySQL Shell,请在 JavaScript 中调用 shell.registerReport()
方法或在 Python 中调用 shell.register_report()
方法。该方法的语法如下
shell.registerReport(name, type, report[, description])
其中
name
是一个字符串,表示报表的唯一名称。type
是一个字符串,表示报表的类型,它决定了输出格式,可以是 “list”、“report” 或 “print”。report
是在调用报表时要调用的函数。description
是一个字典,包含用于指定报表支持的选项、报表接受的附加参数以及在 MySQL Shell 帮助系统中提供的帮助信息的选项。
name
、type
和 report
参数都是必需的。报表名称必须满足以下要求
在您的 MySQL Shell 安装中必须是唯一的。
它必须是一个有效的脚本标识符,因此第一个字符必须是字母或下划线字符,后面可以跟任意数量的字母、数字或下划线字符。
它可以是混合大小写,但它在您的 MySQL Shell 安装中转换为小写后必须仍然是唯一的。
报表名称在注册过程中和使用 \show
和 \watch
命令运行报表时不区分大小写。报表名称在 shell.reports
对象处调用相应的 API 函数时区分大小写。您必须使用用于注册报表的精确名称来调用函数,无论您是在 Python 模式还是 JavaScript 模式下。
可选字典包含以下键,这些键都是可选的
-
brief
报表的简要描述。
-
details
报表的详细描述,以字符串数组形式提供。当您使用
\help
命令或\show
命令的--help
选项时,会提供此描述。-
options
-
报表可以接受的任何报表特定选项。数组中的每个字典都描述了一个选项,并且必须包含以下键
name
(字符串,必需):选项的长格式名称,必须是一个有效的脚本标识符。brief
(字符串,可选):选项的简要描述。shortcut
(字符串,可选):选项的备用名称,是一个单一的字母数字字符。details
(字符串数组,可选):选项的详细描述。当您使用\help
命令或\show
命令的--help
选项时,会提供此描述。type
(字符串,可选):选项的值类型。允许的值为 “string”、“bool”、“integer” 和 “float”,如果未指定type
,则默认值为 “string”。如果指定了 “bool”,则该选项充当开关:如果未指定,则默认值为false
,当您使用\show
或\watch
命令运行报表时,默认值为true
(并且不接受任何值),当您使用shell.reports
对象运行报表时,必须具有有效的值。required
(布尔值,可选):选项是否必需。如果未指定required
,则默认为false
。如果选项类型为 “bool”,则required
不能为 true。values
(字符串数组,可选):选项的允许值列表。只有类型为 “string” 的选项才能具有此键。如果未指定values
,则该选项接受任何值。
-
argc
-
一个字符串,指定报表期望的额外参数数量,可以是以下之一
确切的参数数量,作为单个数字指定。
零个或更多个参数,用星号指定。
参数数量范围,用连字符分隔的两个数字指定(例如,“1-5”)。
具有最小值但没有最大值的参数数量范围,用连字符分隔的数字和星号指定(例如,“1-*”)。