Navigation

PlanetScale CLI commands: workflow

Getting Started

Make sure to first set up your PlanetScale developer environment. Once you've installed the pscale CLI, you can interact with PlanetScale and manage your databases straight from the command line.

The workflow command

This command allows you to create and manage workflows for PlanetScale databases, including creating workflows, listing them, and performing actions like traffic switching and cutover.

Usage:

pscale workflow <SUB-COMMAND> <FLAG>

Available sub-commands

Sub-commandSub-command flagsDescription
cancel <DATABASE_NAME> <WORKFLOW_NUMBER>--forceCancel a workflow that is in progress
complete <DATABASE_NAME> <WORKFLOW_NUMBER>Mark a workflow as complete
create <DATABASE_NAME> <BRANCH_NAME>--defer-secondary-keys, --global-keyspace <KEYSPACE_NAME>, -i, --interactive, --name <WORKFLOW_NAME>, --on-ddl <ACTION>, --source-keyspace <KEYSPACE_NAME>, --tables <TABLE_NAMES>, --target-keyspace <KEYSPACE_NAME>Create a new workflow within a branch
cutover <DATABASE_NAME> <WORKFLOW_NUMBER>--forceCompletes the workflow, cutting over all traffic to the target keyspace
list <DATABASE_NAME>List all of the workflows for a PlanetScale database
retry <DATABASE_NAME> <WORKFLOW_NUMBER>Retry a workflow that has been stopped or failed
reverse-cutover <DATABASE_NAME> <WORKFLOW_NUMBER>Reverse the cutover of a workflow back to the source keyspace
reverse-traffic <DATABASE_NAME> <WORKFLOW_NUMBER>Route queries back to the source keyspace for a specific workflow
show <DATABASE_NAME> <WORKFLOW_NUMBER>Show a specific workflow for a PlanetScale database
switch-traffic <DATABASE_NAME> <WORKFLOW_NUMBER>--force, --replicas-onlyRoute queries to the target keyspace for a specific workflow
verify-data <DATABASE_NAME> <WORKFLOW_NUMBER>Verify data consistency for a specific workflow

Sub-command flag descriptions

Some of the sub-commands have additional flags unique to the sub-command. This section covers what each of those does. See the above table for which context.

Sub-command flagTypeDescriptionApplicable sub-commands
--defer-secondary-keysbooleanDon't create secondary indexes for tables until they've been copied (default true)create
--forcebooleanForce the operation without prompting for confirmationcancel, cutover, switch-traffic
--global-keyspace <KEYSPACE_NAME>stringChoose an unsharded keyspace where sequence tables will be created for any workflow table that contains AUTO_INCREMENTcreate
-i, --interactivebooleanCreate the workflow in interactive modecreate
--name <WORKFLOW_NAME>stringName of the workflowcreate
--on-ddl <ACTION>stringAction to take when a DDL statement is encountered during a running workflow. Options: EXEC, EXEC_IGNORE, STOP, IGNORE (default "STOP")create
--replicas-onlybooleanRoute read queries from the replica and read-only tablets to the target keyspaceswitch-traffic
--source-keyspace <KEYSPACE_NAME>stringKeyspace where the tables will be copied fromcreate
--tables <TABLE_NAMES>stringsTables to migrate to the target keyspacecreate
--target-keyspace <KEYSPACE_NAME>stringKeyspace where the tables will be copied tocreate

Available flags

FlagDescription
-h, --helpView help for workflow command
--org <ORGANIZATION_NAME>The organization for the current user

Global flags

CommandDescription
--api-token <TOKEN>The API token to use for authenticating against the PlanetScale API.
--api-url <URL>The base URL for the PlanetScale API. Default is https://api.planetscale.com/.
--config <CONFIG_FILE>Config file. Default is $HOME/.config/planetscale/pscale.yml.
--debugEnable debug mode.
-f, --format <FORMAT>Show output in a specific format. Possible values: human (default), json, csv.
--no-colorDisable color output.
--service-token <TOKEN>The service token for authenticating.
--service-token-id <TOKEN_ID>The service token ID for authenticating.

Need help?

Get help from the PlanetScale Support team, or join our GitHub discussion board to see how others are using PlanetScale.