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 a database server 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 command-line 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
| Option | Description |
|---|---|
| strip-definer | Remove DEFINER clauses from *.sql files |
| strip-partitioning | Remove PARTITION BY clauses from *.sql files |
| update-views | Reformat views in canonical single-line form |
| write | Update files to correct format (enabled by default; disable with skip-write) |
Workspace Options
| Option | Description |
|---|---|
| docker-cleanup | With workspace=docker, specifies how to clean up containers |
| temp-schema | Name of temporary schema for intermediate operations, created and dropped each run |
| temp-schema-binlog | Controls whether temp schema DDL operations are replicated |
| temp-schema-environment | Offload the temp schema to a different host, as configured by the specified environment |
| temp-schema-mode | Tunes workspace load with workspace=temp-schema; heavier load makes Skeema faster but may disrupt other workloads on the database |
| temp-schema-threads | Deprecated manner of controlling workspace load with workspace=temp-schema |
| workspace | Specifies where to run intermediate operations |
Global Options
| Option | Description |
|---|---|
| connect-options | Comma-separated session options to set upon connecting to each database server |
| debug | Enable debug logging |
| help | Display usage information for the specified command |
| host-wrapper | External bin to shell out to for host lookup; see manual for template vars |
| ignore-event | Ignore events that match regex |
| ignore-func | Ignore functions that match regex |
| ignore-proc | Ignore stored procedures that match regex |
| ignore-schema | Ignore schemas that match regex |
| ignore-table | Ignore tables or views that match regex |
| ignore-trigger | Ignore triggers that match regex |
| ignore-view | Ignore views that match regex |
| my-cnf | Parse ~/.my.cnf for configuration (enabled by default; disable with skip-my-cnf) |
| password | Password for database user; omit value to prompt from TTY |
| server-public-key-path | File path to server public key in PEM format; omit to obtain from server |
| ssh | Tunnel MySQL connections thru SSH to this hostname or user@hostname:port |
| ssh-to-db | SSH to database host in order to establish database connections locally |
| ssl-ca | File path to certificate authority in PEM format |
| ssl-cert | File path to client-side public key in PEM format |
| ssl-key | File path to client-side private key in PEM format |
| ssl-mode | Specify desired connection security SSL/TLS usage |
| ssl-verify-server-cert | Verify server-side cert matches server hostname |
| user | Username to connect to database host |
| version | Display program version |