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 以包含其 docstring。

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 資料庫,並指定檔案名稱。目標 H2 檔案會在傾印前刪除,除非給定 –keep-existing 旗標。

選項

  • -k, --keep-existing - 如果目標 H2 檔案存在,則不刪除
  • -p, --dump-plaintext - 不加密傾印的內容

environment-variables-documentation

產生一個 markdown 檔案,其中包含與設定 Metabase 相關的環境變數文件。此命令僅包含註冊為 defsettings 的環境變數。如需完整的環境變數列表,請參閱 https://metabase.dev.org.tw/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 資料庫。

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 資料庫的 SQL shell。

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

閱讀其他 Metabase 版本的文件