sqitch-plan - Show planned database changes
sqitch plan [options] [<database>]
The "plan" command displays
information about planned changes for a database target. By default, it will
show all the changes for the plan, but you can also search for changes
matching regular expressions, and limit the results. Of course you could
just "cat" your plan file, but this is
more fun.
The "<database>" parameter
specifies the database for which the plan should be read, and may also be
specified as the "--target" option. It can
be target name, a URI, an engine name, or plan file path.
- "-t"
- "--target"
- The target database, the plan for which should be read. This option should
be the name of a target in the configuration.
- "--event"
- Filter by event type. May be specified more than once. Allowed values
are:
- "--change-pattern"
- "--change"
- A regular expression to match against change names.
- "--planner-pattern"
- "--planner"
- A regular expression to match against planner names.
- "--format"
- "-f"
- The format to use. May be one of:
- "full"
- "long"
- "medium"
- "short"
- "oneline"
- "raw"
- "format:<string>"
See "Formats" for details on each format. Defaults to
"medium".
- "--date-format"
- "--date"
- Format to use for timestamps. Defaults to
"iso". Allowed values:
- "iso"
- "iso8601"
- Shows timestamps in ISO-8601 format.
- "rfc"
- "rfc2822"
- Show timestamps in RFC-2822 format.
- "full"
- "long"
- "medium"
- "short"
- Show timestamps in the specified format length, using the system locale's
"LC_TIME" category.
- "raw"
- Show timestamps in raw format, which is strict ISO-8601 in the UTC time
zone.
- "strftime:$string"
- Show timestamps using an arbitrary
"strftime" pattern. See "strftime
Paterns" in DateTime for comprehensive documentation of supported
patterns.
- "cldr:$pattern"
- Show timestamps using an arbitrary
"cldr" pattern. See "CLDR
Paterns" in DateTime for comprehensive documentation of supported
patterns.
- "--max-count"
- "-n"
- Limit the number of changes to output.
- "--skip"
- Skip the specified number changes before starting to show the output.
- "--reverse"
- Output the changes in reverse order.
- "--no-reverse"
- Do not output the changes in reverse order.
- "--headers"
- Output headers describing the project and plan file. Enabled by
default.
- "--no-headers"
- Do not output headers describing the project and plan file.
- "--color"
- Show colored output. The value may be one of:
- "auto" (the default)
- "always"
- "never"
- "--no-color"
- Turn off colored output. It is the same as "--color
never".
- "--abbrev"
- Instead of showing the full 40-byte hexadecimal change ID, show only a
partial prefix the specified number of characters long.
- "--oneline"
- Shorthand for "--format oneline --abbrev
6".
- "plan.format"
- Output format to use. Supports the same values as
"--format".
- "plan.date_format"
- Format to use for timestamps. Supports the same values as the
"--date-format" option.
- "plan.color"
- Output colors. Supports the same values as the
"--color" option.
There are several built-in formats, and you can emit data in a
custom format "format:<string>"
format. Here are the details of the built-in formats:
- "oneline"
-
<change id> <event type> <change name> <title line> <tags>
This is designed to be as compact as possible.
- "short"
-
<event type> <change id>
Name: <change name>
Planner: <planner>
<title line>
- "medium"
-
<event type> <change id>
Name: <change name>
Planner: <planner>
Date: <commit date>
<full change note>
- "long"
-
<event type> <change id> <tags>
Name: <change name>
Project: <change name>
Planner: <planner>
<full change note>
- "full"
-
<event type> <change id> <tags>
Event: <event type>
Name: <change name>
Project: <change name>
Requires: <required changes>
Conflicts: <conflicting changes>
Planner: <planner>
Planned: <plan date>
<full change note>
- "raw"
-
<event type> <change id> <tags>
name <change name>
project <project name>
requires <required changes>
conflicts <conflicting changes>
planner <planner>
planned <raw plan date>
<full change note>
Suitable for parsing: the change ID is displayed in full,
without regard to the value of
"--abbrev"; dates are formatted raw
(strict ISO-8601 format in the UTC time zone); and all labels are
lowercased and unlocalized.
- "format:<string>"
- The "format:<string>" format
allows you to specify which information you want to show. It works a
little bit like "printf" format and a
little like Git plan format. For example, this format:
format:The planner of %h was %{name}p%vThe title was >>%s<<%v
Would show something like this:
The planner of f26a3s was Tom Lane
The title was >>We really need to get this right.<<
The placeholders are:
- %H: Event change ID
- %h: Event change ID (respects
"--abbrev")
- %n: Event change name
- %o: Event change project name
- "%($len)h": abbreviated change of length
$len
- %e: Event type (deploy, revert, fail)
- %l: Localized lowercase event type label
- %L: Localized title case event type label
- %c: Change planner name and email address
- "%{name}p": Change planner name
- "%{email}p": Change planner email
address
- "%{date}p": plan date (respects
"--date-format")
- "%{date:rfc}p": plan date, RFC2822
format
- "%{date:iso}p": plan date, ISO-8601
format
- "%{date:full}p": plan date, full
format
- "%{date:long}p": plan date, long
format
- "%{date:medium}p": plan date, medium
format
- "%{date:short}p": plan date, short
format
- "%{date:cldr:$pattern}p": plan date,
formatted with custom CLDR pattern
- "%{date:strftime:$pattern}p": plan date,
formatted with custom strftime pattern
- %t: Comma-delimited list of tags
- "%{$sep}t": list of tags delimited by
$sep
- %T: Parenthesized list of comma-delimited
tags
- "%{$sep}T": Parenthesized list of tags
delimited by $sep
- %s: Subject (a.k.a. title line)
- %r: Comma-delimited list of required changes
- "%{$sep}r": list of required changes
delimited by $sep
- %R: Localized label and list of comma-delimited
required changes
- "%{$sep}R": Localized label and list of
required changes delimited by $sep
- %x: Comma-delimited list of conflicting
changes
- "%{$sep}x": list of conflicting changes
delimited by $sep
- %X: Localized label and list of comma-delimited
conflicting changes
- "%{$sep}X": Localized label and list of
conflicting changes delimited by $sep
- %b: Body
- %B: Raw body (unwrapped subject and body)
- "%{$prefix}"B: Raw body with
$prefix prefixed to every line
- "%{event}_" Localized label for
"event"
- "%{change}_" Localized label for
"change"
- "%{planner}_" Localized label for
"planner"
- "%{by}_" Localized label for
"by"
- "%{date}_" Localized label for
"date"
- "%{planned}_" Localized label for
"planned"
- "%{name}_" Localized label for
"name"
- "%{project}_" Localized label for
"project"
- "%{email}_" Localized label for
"email"
- "%{requires}_" Localized label for
"requires"
- "%{conflicts}_" Localized label for
"conflicts"
- %v vertical space (newline)
- "%{$color}C": An ANSI color: black, red,
green, yellow, reset, etc.
- "%{:event}C": An ANSI color based on
event type (green deploy, blue revert, red fail)
- "%{$attribute}a": The raw attribute name
and value, if it exists and has a value
Part of the sqitch suite.