若要向 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-*」) 以虛線分隔來指定。