Docs: Commands: format

Usage: skeema format [<options>] [<environment>]

Reformats the filesystem representation of database objects to match the canonical format shown in SHOW CREATE.

This command relies on accessing database instances to test the SQL DDL in a temporary location. See the workspace option for more information.

You may optionally pass an environment name as a CLI arg. This will affect which section of .skeema config files is used for workspace selection. For example, running skeema format staging will apply config directives from the [staging] section of config files, as well as any sectionless directives at the top of the file. If no environment name is supplied, the default is “production”.

An exit code of 0 will be returned if all files were already formatted properly; 1 if some files were not already in the correct format; or 2+ if any errors occurred.

Format Options

OptionDescription
strip-partitioningRemove PARTITION BY clauses from *.sql files
update-viewsReformat views in canonical single-line form
writeUpdate files to correct format (enabled by default; disable with skip-write)

Workspace Options

OptionDescription
docker-cleanupWith workspace=docker, specifies how to clean up containers
temp-schemaName of temporary schema for intermediate operations, created and dropped each run
temp-schema-binlogControls whether temp schema DDL operations are replicated
temp-schema-threadsMax number of concurrent CREATE/DROP with workspace=temp-schema
workspaceSpecifies where to run intermediate operations

Global Options

OptionDescription
connect-optionsComma-separated session options to set upon connecting to each database instance
debugEnable debug logging
helpDisplay usage information for the specified command
host-wrapperExternal bin to shell out to for host lookup; see manual for template vars
ignore-schemaIgnore schemas that match regex
ignore-tableIgnore tables that match regex
ignore-triggerIgnore triggers that match regex
my-cnfParse ~/.my.cnf for configuration (enabled by default; disable with skip-my-cnf)
passwordPassword for database user; omit value to prompt from TTY (default no password)
userUsername to connect to database host
versionDisplay program version