若要向 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-*」)。