MySQL Shell 9.0  /  ...  /  支援 MySQL Shell 外掛程式

5.8.2.5 支援 MySQL Shell 外掛程式

若要將第 10.3 節「MySQL Shell 外掛程式」與命令列整合搭配使用,必須明確定義函式以支援 CLI。當在 MySQL Shell 外掛程式中定義的物件啟用命令列整合時,只有已啟用的特定函式才可用於 CLI 呼叫。當您將函式成員新增至物件時,它們會支援 cli 布林值選項。當 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 選項。