fauna schema push
fauna schema push [flags]
Push a local directory of .fsl
schema files to a database. By default,
stages the schema.
The command runs in the context of a single database, specified using
--database
or --secret
. If using --secret
, the command runs in the
database to which the secret is scoped.
Specify the local directory using --dir
.
Use --active
to immediately apply the local schema to the database’s active
schema. This skips staging the schema. However, If the local schema includes
index definition
changes, related indexes may be temporarily unavailable due to
index builds.
Flags
- API
-
-u
,--user <string>
-
CLI user to run the command as. You must first log in as the user using
fauna login
. Defaults todefault
. See Interactive login. --local
-
Use a local Fauna container.
If not otherwise specified, this flag sets:
-
--url
to http://0.0.0.0:8443 -
--secret
tosecret
Pass this flag with
--database
and an optional--role
to create a scoped key that impersonates a built-in role on a child database. -
--url <string>
-
URL for Core HTTP API requests made by the command. Defaults to https://db.fauna.com.
--secret <string>
-
Secret used for authentication. Supports scoped keys. The command runs in the database to which the secret is scoped. Can’t be used with
--database
or--role
. --account-key <string>
-
Fauna account key used for authentication. If used, you must also provide a
--database
and an optional--role
. See Account key authentication.Can’t be used with
--user
or--secret
. If--account-key
and--user
are specified,--user
is ignored. -d
,--database <string>
-
Database, including the Region Group identifier and hierarchy, to run the command in. Supports shorthand Region Group identifiers. Separate path components using
/
. Examples:us/my_db
,eu/parent_db/child_db
,global/db
. Can’t be used with--secret
.If using a local Fauna container, omit the Region Group.
-r
,--role <string>
-
Role used to run the command. Defaults to
admin
. Can’t be used with--secret
.
- Output
-
--color
-
Enable color formatting for output. Enabled by default. Use
--no-color
to disable. --json
-
Output results as JSON.
--quiet
-
Suppress all log messages except fatal errors. Output only command results. Overrides
--verbosity
and--verbose-component
.
- Config
-
--config <string>
-
Path to a CLI config file to use. If provided, must specify a profile.
-p
,--profile <string>
-
Profile from the CLI config file. A profile is a group of CLI settings.
- Debug
-
--verbose-component <array>
-
Components to emit logs for. Overrides
--verbosity
.Accepts the following values:
-
argv
-
config
-
creds
-
error
-
fetch
Pass values as a space-separated list. Example:
--verbose-component argv config
. -
--verbosity <number>
-
Least critical log level to emit. Accepts integers ranging from
1
(fatal) to5
(debug). Lower values represent more critical logs. Log messages with a level greater than this value are not logged.
- Options
-
-h
,--help
-
Show help.
--version
-
Show the Fauna CLI version.
--input
-
Prompt for user input. Defaults to true. To disable prompts, use
--no-input
. --active
-
Immediately apply the local schema to the database’s active schema. Skip staging the schema.
If the local schema includes index definition changes, related indexes may be temporarily unavailable due to index builds.
--fsl-directory
,--dir
,--directory <string>
-
Path to a local directory containing
.fsl
files for the database. Recursively scans subdirectories. Defaults to the current directory (.
).
Examples
# Stage schema changes for the 'us/my_db' database.
# If schema is already staged, replace the staged schema.
fauna schema push \
--database us/my_db \
--dir /path/to/schema/dir
# Stage schema changes for the database scoped to a secret.
# If schema is already staged, replace the staged schema.
fauna schema push \
--secret my-secret \
--dir /path/to/schema/dir
# Immediately apply changes to the 'us/my_db' database's
# active schema.
fauna schema push \
--database us/my_db \
--dir /path/to/schema/dir \
--active
# Run the command without prompts
fauna schema push \
--database us/my_db \
--dir /path/to/schema/dir \
--no-input
Is this article helpful?
Tell Fauna how the article can be improved:
Visit Fauna's forums
or email docs@fauna.com
Thank you for your feedback!