MySQL Shell 8.4  /  ...  /  持久化扩展对象

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 来覆盖所有平台上的用户配置路径。