MySQL Shell 8.4  /  ...  /  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 選項。