10.2.3 持续扩展对象

定义和注册扩展对象的脚本必须具有 .js(用于 JavaScript 代码)或 .py(用于 Python 代码)的文件扩展名,以匹配脚本使用的语言。文件扩展名不区分大小写。

持续扩展对象的最佳方式是将其添加到 MySQL Shell 插件中。插件和插件组在 MySQL Shell 启动时自动加载,它们定义和注册的函数会立即可用。在 MySQL Shell 插件中,包含初始化脚本的文件必须命名为 init.jsinit.py(根据语言而定)。插件只能包含一种语言的代码,因此,如果您要创建具有 Python 和 JavaScript 中定义的成员混合的扩展对象,则必须将这些成员存储为单独的语言适当插件。有关使用 MySQL Shell 插件的说明,请参见 第 10.3 节“MySQL Shell 插件”

作为替代方法,包含扩展对象的脚本可以直接存储在 MySQL Shell 用户配置路径的 init.d 文件夹中。当 MySQL Shell 启动时,会自动处理 init.d 文件夹中所有具有 .js.py 文件扩展名的文件,并使它们注册的函数可用。(在此位置,文件名对 MySQL Shell 不重要。)默认的 MySQL Shell 用户配置路径为 Unix 上的 ~/.mysqlsh/ 和 Windows 上的 %AppData%\MySQL\mysqlsh\。可以通过定义环境变量 MYSQLSH_USER_CONFIG_HOME 在所有平台上覆盖用户配置路径。