SurrealDB Docs Logo

Enter a search query

Export command

The export command exports a SurrealQL script file from a local or remote SurrealDB database server.

BEFORE YOU START

Make sure you’ve installed SurrealDB — it should only take a second!

Command options

ArgumentsDescription

-e / --endpoint / --conn

optional

Sets the url of the database server to connect to

-u / --user

required

Sets master username for the database

-p / --pass

required

Sets master password for the database

-t / --token

optional

Sets the authentication token to use when connecting to the server. Connect to SurrealDB using a JWT instead of user credentials

--ns

required

Sets the desired namespace in which to export data

--db

required

Sets the desired database into which to export data

Positional argument

ArgumentsDescription

file

optional

Sets the path to the file which should be exported. If not provided, export data will be printed to stdout (and can thus be redirected using >).

Example usage

To perform a SurrealQL database export into a local file, in a terminal run the surreal export command with the required arguments.

surreal export --conn http://localhost:8000 --user root --pass root --ns test --db test export.surql

Using token based authentication

surreal export --conn http://localhost:8000 --token <token> --ns test --db test export.surql

OPTION IMPORT

The output of a database export includes a line that contains the keywords OPTION IMPORT. This command is used internally to ensure that side effects do not run when the data is imported, such as events and table views.

Command help

To see the help information and usage instructions, in a terminal run the surreal export —help command without any further arguments. This command gives general information on the arguments, inputs, and additional options for the export command.

surreal export --help

The output of the above command :

Export an existing database as a SurrealQL script Usage: surreal export [OPTIONS] --namespace <NAMESPACE> --database <DATABASE> [FILE] Arguments: [FILE] Path to the SurrealQL file to export. Use dash - to write into stdout. [default: -] Options: -e, --endpoint <ENDPOINT> Remote database server url to connect to [default: ws://localhost:8000] [aliases: conn] -u, --username <USERNAME> Database authentication username to use when connecting [env: SURREAL_USER=] [aliases: user] -p, --password <PASSWORD> Database authentication password to use when connecting [env: SURREAL_PASS=] [aliases: pass] -t, --token <TOKEN> Authentication token in JWT format to use when connecting [env: SURREAL_TOKEN=] --auth-level <AUTH_LEVEL> Authentication level to use when connecting [env: SURREAL_AUTH_LEVEL=] [default: root] [possible values: root, namespace, ns, database, db] --namespace <NAMESPACE> The namespace selected for the operation [env: SURREAL_NAMESPACE=] [aliases: ns] --database <DATABASE> The database selected for the operation [env: SURREAL_DATABASE=] [aliases: db] -h, --help Print help

Using environment variables

When using the surreal export command, you can also use environment variables to set the values for the command-line flags.

Important

Most of the flags mentioned in the command output above also mention a corresponding environment variables.

For example, the --username flag can be configured with the SURREAL_USER environment variable instead.

For more on the environment variables available for CLI commands or SurrealDB instances in general, see the environment variables page.

On this page

© SurrealDB GitHub Discord Community Cloud Features Releases Install