Metabase CLI

Metabase 附带了一些方便的 CLI 命令。要查看命令列表,请运行 Metabase jar,后跟 help

java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar help

Metabase 将打印出可用命令的帮助文本。

api-documentation

生成一个 markdown 文件,其中包含所有 API 端点的文档。这将写入名为 docs/api.html 的文件。

driver-methods | driver-methods _docs

打印驱动程序可实现的所有多方法的列表。添加 _docs 以包含其文档字符串。

config-template

生成一个 Markdown 文件,其中包含文档和一个 YAML 格式的示例配置文件。YAML 模板包括 Metabase 设置及其默认值。Metabase 会将文件保存为 docs/configuring-metabase/config-template.md

drop-entity-ids

删除可序列化模型实例的实体 ID。用于从 v1 序列化(x.46 及更早版本)迁移到 v2(x.47+)。

dump path & options

注意:此命令已弃用。请改用 export

将 Metabase 实例序列化到目录 path 中。

选项

  • -u, --user EMAIL - 导出指定用户拥有的集合
  • -s, --state (active|all) - 设置为 active 时,不转储已存档的实体。默认行为是 all
  • --include-entity-id - 在所有转储的实体中包含 entity_id 属性。默认值:false

dump-to-h2 h2-filename & opts

将数据从现有数据库传输到新创建的 H2 DB,并指定文件名。除非给定 –keep-existing 标志,否则在转储之前会删除目标 H2 文件。

选项

  • -k, --keep-existing - 如果目标 H2 文件存在,则不删除
  • -p, --dump-plaintext - 不加密转储的内容

environment-variables-documentation

生成一个 markdown 文件,其中包含与配置 Metabase 相关的环境变量的文档。该命令仅包含注册为 defsettings 的环境变量。有关环境变量的完整列表,请参阅 https://metabase.net.cn/docs/latest/configuring-metabase/environment-variables。

export path & options

序列化仅在 ProEnterprise 计划(仅限自托管计划)上可用。

将 Metabase 实例序列化到 path 目录中。

选项

  • -c, --collection ID - 仅导出指定的 ID。使用逗号分隔多个 ID。您可以传递带有 eid:<...> 作为前缀的实体 ID
  • -C, --no-collections - 不导出集合中的任何内容
  • -S, --no-settings - 不导出 settings.yaml
  • -D, --no-data-model - 不导出任何数据模型实体;对于后续导出很有用
  • -f, --include-field-values - 将字段值与字段元数据一起包含
  • -s, --include-database-secrets - 包含数据库连接详细信息(纯文本;请谨慎使用)
  • -e, --continue-on-error - 不要在错误时中断执行
  • --full-stacktrace - 在错误时输出完整堆栈跟踪

help command-name | help

显示此帮助消息,列出有效的 Metabase 命令。使用 help command-name 获取特定命令详细信息。

import path & options

序列化仅在 ProEnterprise 计划(仅限自托管计划)上可用。

加载由 export 命令从目录 path 创建的序列化 Metabase 实例。

选项

  • -e, --continue-on-error - 不要在错误时中断执行
  • --full-stacktrace - 在错误时输出完整堆栈跟踪

load path & options

注意:此命令已弃用。请改用 import

加载由 dump 命令从目录 path 创建的序列化 Metabase 实例。

选项

  • -m, --mode (skip|update) - 冲突时更新或跳过。默认值:skip
  • -e, --on-error (continue|abort) - 错误时中止或继续。默认值:continue

load-from-h2 | load-from-h2 h2-connection-string

将数据从现有 H2 数据库传输到由环境变量指定的新创建的 MySQL 或 Postgres DB。

migrate direction

运行数据库迁移。direction 的有效选项为 upforcedownprintrelease-locks

profile

以通常方式启动 Metabase 并退出。用于分析 Metabase 启动时间很有用。

reset-password email-address

重置具有 email-address 的用户的密码。

rotate-encryption-key new-key

轮换 metabase 数据库的加密密钥。MB_ENCRYPTION_SECRET_KEY 环境变量必须设置为当前密钥,参数 new-key 必须是新密钥。new-key 必须至少为 16 个字符。

remove-encryption

解密 metabase 数据库中的数据。MB_ENCRYPTION_SECRET_KEY 环境变量必须设置为当前密钥。

seed-entity-ids

为尚不具有实体 ID 的可序列化模型实例添加实体 ID。

version

打印有关 Metabase 和当前系统的版本信息。

其他有用的命令

H2 SQL Shell

为 Metabase H2 DB 打开一个 SQL shell

java -cp metabase.jar org.h2.tools.Shell -url jdbc:h2:/path/to/metabase.db

阅读其他 版本的 Metabase 的文档。