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-threads | Max number of concurrent CREATE/DROP 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 |