Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
title: Metabase CLI

Metabase CLI

Metabase ships with some handy CLI commands. To view a list of commands, run the Metabase jar followed by help.

java -jar metabase.jar help

Metabase will print out the help text for available commands.

api-documentation

Generate a markdown file containing documentation for all API endpoints. This is written to a file called docs/api-documentation.md.

driver-methods

Or driver-methods _docs.

Print a list of all multimethods available for a driver to implement, optionally with their docstrings.

drop-entity-ids

Drop entity IDs for instances of serializable models. Useful for migrating from v1 serialization (x.46 and earlier) to v2 (x.47+).

dump path & options

This command is deprecated. Use export instead.

Serializes Metabase instance into directory path.

Options:

-u, --user EMAIL Export collections owned by the specified user

-s, --state (active|all) all When set to active, do not dump archived entities. Default behavior is all.

dump-to-h2 h2-filename & opts

Transfer data from existing database to newly created H2 DB with specified filename. Target H2 file is deleted before dump, unless the --keep-existing flag is given.

Options:

-k, --keep-existing Do not delete target H2 file if it exists.

-p, --dump-plaintext Do not encrypt dumped contents.

environment-variables-documentation

Generates a markdown file containing documentation for environment variables relevant to configuring Metabase. The command only includes environment variables registered as defsettings. For a full list of environment variables, see Environment variables.

export path & options

{% include plans-blockquote.html feature="Serialization" self-hosted-only="true" %}

Serialize Metabase instance into directory at path.

Options:

-c, --collection ID Export only specified ID(s). Use commas to separate multiple IDs.

-C, --no-collections Do not export any content in collections.

-S, --no-settings Do not export settings.yaml

-D, --no-data-model Do not export any data model entities; useful for subsequent exports.

-f, --include-field-values Include field values along with field metadata.

-s, --include-database-secrets Include database connection details (in plain text; use caution).

help

Show this help message listing valid Metabase commands.

import path & options

{% include plans-blockquote.html feature="Serialization" self-hosted-only="true" %}

Load serialized Metabase instance as created by the export command from directory path. Has no options.

load path & options

This command is deprecated. Use import instead.

Load serialized Metabase instance as created by dump command from directory path.

Options:

-m, --mode (skip|update) skip Update or skip on conflicts.

-e, --on-error (continue|abort) continue Abort or continue on error.

load-from-h2

Transfer data from existing H2 database to the newly created MySQL or Postgres DB specified by env vars.

load-from-h2 h2-connection-string

migrate down

Used for downgrading versions.

profile

Start Metabase the usual way and exit. Useful for profiling Metabase launch time.

reset-password email-address

Reset the password for a user with email-address.

rotate-encryption-key new-key

Rotate the encryption key of a Metabase database. The MB_ENCRYPTION_SECRET_KEY environment variable has to be set to the current key, and the parameter new-key has to be the new key. new-key has to be at least 16 chars.

version

Print version information about Metabase and the current system.