10.2.3 持久化扩展对象

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

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

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