output-line-separator
The output-line-separator
global parameter determines the string that separates lines in STDOUT
, such as when you use the update-sql command or the future-rollback-sql command. By default, it is set to the line separator used by the operating system:
-
Mac/Linux:
LF
(line feed; encoded as\n
) -
Windows:
CR LF
(carriage return line feed; encoded as\r\n
)
Uses
If you want to use a different character than your operating system’s default string as a line separator in Liquibase, you can set output-line-separator
to a string value of any length. For example, you can set it to multiple newlines or a substring between two newlines.
If you want STDOUT
to display all text in a single line, you can set output-line-separator
to a non-newline character. The character you set delimits each substring in STDOUT
.
Setting the output-line-separator
parameter
You can set output-line-separator
in four ways:
- In the Liquibase properties file
- As a global parameter in the CLI
- As a JVM system property
- As an environment variable (Liquibase Pro)
Liquibase properties file parameter
In Liquibase 4.1+, add the following to Liquibase properties file:
liquibase.outputLineSeparator
: <string>
CLI global parameter
In your command line, use a global parameter with a single Liquibase command:
liquibase --output-line-separator
=<string>
update
--changelog-file=dbchangelog.xml
Java system property
In your command line, use the JAVA_OPTS Environment Variable to set a JVM system property:
Mac/Linux syntax:
JAVA_OPTS=-Dliquibase.outputLineSeparator
=<string>
Windows syntax:
set JAVA_OPTS=-Dliquibase.outputLineSeparator
=<string>
Note: To use a Liquibase command alongside JAVA_OPTS
, add && liquibase <command>
to the end of your input.
Environment variable (Liquibase Pro)
In Liquibase Pro, set an environment variable:
Mac/Linux syntax:
LIQUIBASE_OUTPUT_LINE_SEPARATOR
=<string>
Windows syntax:
set LIQUIBASE_OUTPUT_LINE_SEPARATOR
=<string>
Note: These environment variable commands only apply to the current shell. If you need to pass an environment variable to a child process without affecting the parent process, you can use the export
command on Mac/Linux or the setx
command on Windows.