diff --git a/Dockerfile b/Dockerfile index 3aa06fe..d884c7c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ # Code generated by protoc-gen-liquibase. DO NOT EDIT. -FROM liquibase/liquibase:4.23.2 +FROM liquibase/liquibase:4.24.0 COPY flow_validate.sh /entry.sh ENTRYPOINT ["/entry.sh"] diff --git a/README.md b/README.md index 536dade..68eb3cd 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Validate a series of commands contained in one or more stages, as configured in ```yaml steps: - uses: actions/checkout@v3 -- uses: liquibase-github-actions/flow-validate@v4.23.2 +- uses: liquibase-github-actions/flow-validate@v4.24.0 with: # The path to the configuration yaml file which contains one or more "stages" of commands to be executed in a liquibase flow operation. Defaults to yaml file named "liquibase.flowfile.yaml" in the current working directory. # string @@ -41,7 +41,7 @@ The liquibase flow validate action accepts all valid liquibase global options as ```yaml steps: - uses: actions/checkout@v3 - - uses: liquibase-github-actions/flow-validate@v4.23.2 + - uses: liquibase-github-actions/flow-validate@v4.24.0 with: headless: true licenseKey: ${{ secrets.LIQUIBASE_LICENSE_KEY }} diff --git a/action.yml b/action.yml index 3ea7fb7..ef38446 100644 --- a/action.yml +++ b/action.yml @@ -43,6 +43,9 @@ inputs: customLogDataFile: # string description: '[PRO]Relative or fully qualified path to a yaml file containing key:value data to inject or exclude data from JSON structured logs. Learn more at https://docs.liquibase.com/structured-logging' required: false + customLogDataFrequency: # string + description: '[PRO]The frequency that the custom log data will be entered into the logs. Available options are: ONCE,REPEATED' + required: false databaseChangelogLockTableName: # string description: 'Name of table to use for tracking concurrent Liquibase usage' required: false @@ -61,31 +64,19 @@ inputs: diffColumnOrder: # bool description: 'Should Liquibase compare column order in diff operation?' required: false - driftChangedSeverity: # int32 - description: 'Changed object drift severity' - required: false driftEnabled: # bool description: 'Enable or disable drift detection' required: false - driftMissingSeverity: # int32 - description: 'Missing object drift severity' - required: false - driftReportEnabled: # bool - description: 'Enable or disable drift reporting.' - required: false - driftReportFormat: # string - description: 'The format of the Drift Report. Currently, can only be set to "html".' - required: false - driftReportMode: # string - description: 'The report mode of the Drift Report. The report mode defines the differences to include in the Drift Report. Valid modes include: ALL, MISSING, UNEXPECTED, CHANGED' + driftSeverity: # int32 + description: 'Global object drift severity' required: false - driftReportName: # string - description: 'The name of the Drift Report.' + driftSeverityChanged: # int32 + description: 'Changed object drift severity' required: false - driftReportPath: # string - description: 'The path to the directory to generate Drift Reports.' + driftSeverityMissing: # int32 + description: 'Missing object drift severity' required: false - driftUnexpectedSeverity: # int32 + driftSeverityUnexpected: # int32 description: 'Unexpected object drift severity' required: false driver: # string @@ -196,6 +187,18 @@ inputs: propertyProviderClass: # string description: 'Implementation of Properties class to provide additional driver properties' required: false + reportsEnabled: # bool + description: 'Enable or disable reporting.' + required: false + reportsFormat: # string + description: 'The format of the report. Currently, can only be set to "html".' + required: false + reportsName: # string + description: 'The name of the reports.' + required: false + reportsPath: # string + description: 'The path to the directory to generate the reports.' + required: false searchPath: # string description: 'Complete list of Location(s) to search for files such as changelog files in. Multiple paths can be specified by separating them with commas.' required: false @@ -246,21 +249,18 @@ runs: - ${{ inputs.classpath }} - ${{ inputs.convertDataTypes }} - ${{ inputs.customLogDataFile }} + - ${{ inputs.customLogDataFrequency }} - ${{ inputs.databaseChangelogLockTableName }} - ${{ inputs.databaseChangelogTableName }} - ${{ inputs.databaseClass }} - ${{ inputs.ddlLockTimeout }} - ${{ inputs.defaultsFile }} - ${{ inputs.diffColumnOrder }} - - ${{ inputs.driftChangedSeverity }} - ${{ inputs.driftEnabled }} - - ${{ inputs.driftMissingSeverity }} - - ${{ inputs.driftReportEnabled }} - - ${{ inputs.driftReportFormat }} - - ${{ inputs.driftReportMode }} - - ${{ inputs.driftReportName }} - - ${{ inputs.driftReportPath }} - - ${{ inputs.driftUnexpectedSeverity }} + - ${{ inputs.driftSeverity }} + - ${{ inputs.driftSeverityChanged }} + - ${{ inputs.driftSeverityMissing }} + - ${{ inputs.driftSeverityUnexpected }} - ${{ inputs.driver }} - ${{ inputs.driverPropertiesFile }} - ${{ inputs.duplicateFileMode }} @@ -297,6 +297,10 @@ runs: - ${{ inputs.proSynonymsDropPublic }} - ${{ inputs.promptForNonLocalDatabase }} - ${{ inputs.propertyProviderClass }} + - ${{ inputs.reportsEnabled }} + - ${{ inputs.reportsFormat }} + - ${{ inputs.reportsName }} + - ${{ inputs.reportsPath }} - ${{ inputs.searchPath }} - ${{ inputs.secureParsing }} - ${{ inputs.shouldRun }} diff --git a/flow_validate.sh b/flow_validate.sh index 75dce46..4cf336f 100755 --- a/flow_validate.sh +++ b/flow_validate.sh @@ -16,68 +16,69 @@ CHANGELOGPARSEMODE=${10} CLASSPATH=${11} CONVERTDATATYPES=${12} CUSTOMLOGDATAFILE=${13} -DATABASECHANGELOGLOCKTABLENAME=${14} -DATABASECHANGELOGTABLENAME=${15} -DATABASECLASS=${16} -DDLLOCKTIMEOUT=${17} -DEFAULTSFILE=${18} -DIFFCOLUMNORDER=${19} -DRIFTCHANGEDSEVERITY=${20} +CUSTOMLOGDATAFREQUENCY=${14} +DATABASECHANGELOGLOCKTABLENAME=${15} +DATABASECHANGELOGTABLENAME=${16} +DATABASECLASS=${17} +DDLLOCKTIMEOUT=${18} +DEFAULTSFILE=${19} +DIFFCOLUMNORDER=${20} DRIFTENABLED=${21} -DRIFTMISSINGSEVERITY=${22} -DRIFTREPORTENABLED=${23} -DRIFTREPORTFORMAT=${24} -DRIFTREPORTMODE=${25} -DRIFTREPORTNAME=${26} -DRIFTREPORTPATH=${27} -DRIFTUNEXPECTEDSEVERITY=${28} -DRIVER=${29} -DRIVERPROPERTIESFILE=${30} -DUPLICATEFILEMODE=${31} -ERRORONCIRCULARINCLUDEALL=${32} -FILEENCODING=${33} -FILTERLOGMESSAGES=${34} -FLOWVERBOSETOSTRING=${35} -GENERATECHANGESETCREATEDVALUES=${36} -GENERATEDCHANGESETIDSCONTAINSDESCRIPTION=${37} -HEADLESS=${38} -INCLUDECATALOGINSPECIFICATION=${39} -INCLUDESYSTEMCLASSPATH=${40} -LICENSEKEY=${41} -LIQUIBASECATALOGNAME=${42} -LIQUIBASESCHEMANAME=${43} -LIQUIBASETABLESPACENAME=${44} -LOGCHANNELS=${45} -LOGFILE=${46} -LOGFORMAT=${47} -LOGLEVEL=${48} -MIRRORCONSOLEMESSAGESTOLOG=${49} -MISSINGPROPERTYMODE=${50} -MONITORPERFORMANCE=${51} -NATIVEEXECUTOR=${52} -ONMISSINGINCLUDECHANGELOG=${53} -ONMISSINGSQLFILE=${54} -OUTPUTFILE=${55} -OUTPUTFILEENCODING=${56} -OUTPUTLINESEPARATOR=${57} -PRESERVESCHEMACASE=${58} -PROLICENSEKEY=${59} -PROMARKUNUSEDNOTDROP=${60} -PROSQLINLINE=${61} -PROSYNONYMSDROPPUBLIC=${62} -PROMPTFORNONLOCALDATABASE=${63} -PROPERTYPROVIDERCLASS=${64} -SEARCHPATH=${65} -SECUREPARSING=${66} -SHOULDRUN=${67} -SHOULDSNAPSHOTDATA=${68} -SHOWBANNER=${69} -SQLLOGLEVEL=${70} -SQLSHOWSQLWARNINGS=${71} -STRICT=${72} -SUPPORTPROPERTYESCAPING=${73} -USEPROCEDURESCHEMA=${74} -VALIDATEXMLCHANGELOGFILES=${75} +DRIFTSEVERITY=${22} +DRIFTSEVERITYCHANGED=${23} +DRIFTSEVERITYMISSING=${24} +DRIFTSEVERITYUNEXPECTED=${25} +DRIVER=${26} +DRIVERPROPERTIESFILE=${27} +DUPLICATEFILEMODE=${28} +ERRORONCIRCULARINCLUDEALL=${29} +FILEENCODING=${30} +FILTERLOGMESSAGES=${31} +FLOWVERBOSETOSTRING=${32} +GENERATECHANGESETCREATEDVALUES=${33} +GENERATEDCHANGESETIDSCONTAINSDESCRIPTION=${34} +HEADLESS=${35} +INCLUDECATALOGINSPECIFICATION=${36} +INCLUDESYSTEMCLASSPATH=${37} +LICENSEKEY=${38} +LIQUIBASECATALOGNAME=${39} +LIQUIBASESCHEMANAME=${40} +LIQUIBASETABLESPACENAME=${41} +LOGCHANNELS=${42} +LOGFILE=${43} +LOGFORMAT=${44} +LOGLEVEL=${45} +MIRRORCONSOLEMESSAGESTOLOG=${46} +MISSINGPROPERTYMODE=${47} +MONITORPERFORMANCE=${48} +NATIVEEXECUTOR=${49} +ONMISSINGINCLUDECHANGELOG=${50} +ONMISSINGSQLFILE=${51} +OUTPUTFILE=${52} +OUTPUTFILEENCODING=${53} +OUTPUTLINESEPARATOR=${54} +PRESERVESCHEMACASE=${55} +PROLICENSEKEY=${56} +PROMARKUNUSEDNOTDROP=${57} +PROSQLINLINE=${58} +PROSYNONYMSDROPPUBLIC=${59} +PROMPTFORNONLOCALDATABASE=${60} +PROPERTYPROVIDERCLASS=${61} +REPORTSENABLED=${62} +REPORTSFORMAT=${63} +REPORTSNAME=${64} +REPORTSPATH=${65} +SEARCHPATH=${66} +SECUREPARSING=${67} +SHOULDRUN=${68} +SHOULDSNAPSHOTDATA=${69} +SHOWBANNER=${70} +SQLLOGLEVEL=${71} +SQLSHOWSQLWARNINGS=${72} +STRICT=${73} +SUPPORTPROPERTYESCAPING=${74} +USEPROCEDURESCHEMA=${75} +VALIDATEXMLCHANGELOGFILES=${76} PARAMS=() @@ -124,6 +125,9 @@ fi if [[ -n "$CUSTOMLOGDATAFILE" ]]; then GLOBALS+=("--custom-log-data-file=$CUSTOMLOGDATAFILE") fi +if [[ -n "$CUSTOMLOGDATAFREQUENCY" ]]; then + GLOBALS+=("--custom-log-data-frequency=$CUSTOMLOGDATAFREQUENCY") +fi if [[ -n "$DATABASECHANGELOGLOCKTABLENAME" ]]; then GLOBALS+=("--database-changelog-lock-table-name=$DATABASECHANGELOGLOCKTABLENAME") fi @@ -142,32 +146,20 @@ fi if [[ -n "$DIFFCOLUMNORDER" ]]; then GLOBALS+=("--diff-column-order=$DIFFCOLUMNORDER") fi -if [[ -n "$DRIFTCHANGEDSEVERITY" ]]; then - GLOBALS+=("--drift-changed-severity=$DRIFTCHANGEDSEVERITY") -fi if [[ -n "$DRIFTENABLED" ]]; then GLOBALS+=("--drift-enabled=$DRIFTENABLED") fi -if [[ -n "$DRIFTMISSINGSEVERITY" ]]; then - GLOBALS+=("--drift-missing-severity=$DRIFTMISSINGSEVERITY") -fi -if [[ -n "$DRIFTREPORTENABLED" ]]; then - GLOBALS+=("--drift-report-enabled=$DRIFTREPORTENABLED") -fi -if [[ -n "$DRIFTREPORTFORMAT" ]]; then - GLOBALS+=("--drift-report-format=$DRIFTREPORTFORMAT") -fi -if [[ -n "$DRIFTREPORTMODE" ]]; then - GLOBALS+=("--drift-report-mode=$DRIFTREPORTMODE") +if [[ -n "$DRIFTSEVERITY" ]]; then + GLOBALS+=("--drift-severity=$DRIFTSEVERITY") fi -if [[ -n "$DRIFTREPORTNAME" ]]; then - GLOBALS+=("--drift-report-name=$DRIFTREPORTNAME") +if [[ -n "$DRIFTSEVERITYCHANGED" ]]; then + GLOBALS+=("--drift-severity-changed=$DRIFTSEVERITYCHANGED") fi -if [[ -n "$DRIFTREPORTPATH" ]]; then - GLOBALS+=("--drift-report-path=$DRIFTREPORTPATH") +if [[ -n "$DRIFTSEVERITYMISSING" ]]; then + GLOBALS+=("--drift-severity-missing=$DRIFTSEVERITYMISSING") fi -if [[ -n "$DRIFTUNEXPECTEDSEVERITY" ]]; then - GLOBALS+=("--drift-unexpected-severity=$DRIFTUNEXPECTEDSEVERITY") +if [[ -n "$DRIFTSEVERITYUNEXPECTED" ]]; then + GLOBALS+=("--drift-severity-unexpected=$DRIFTSEVERITYUNEXPECTED") fi if [[ -n "$DRIVER" ]]; then GLOBALS+=("--driver=$DRIVER") @@ -277,6 +269,18 @@ fi if [[ -n "$PROPERTYPROVIDERCLASS" ]]; then GLOBALS+=("--property-provider-class=$PROPERTYPROVIDERCLASS") fi +if [[ -n "$REPORTSENABLED" ]]; then + GLOBALS+=("--reports-enabled=$REPORTSENABLED") +fi +if [[ -n "$REPORTSFORMAT" ]]; then + GLOBALS+=("--reports-format=$REPORTSFORMAT") +fi +if [[ -n "$REPORTSNAME" ]]; then + GLOBALS+=("--reports-name=$REPORTSNAME") +fi +if [[ -n "$REPORTSPATH" ]]; then + GLOBALS+=("--reports-path=$REPORTSPATH") +fi if [[ -n "$SEARCHPATH" ]]; then GLOBALS+=("--search-path=$SEARCHPATH") fi diff --git a/global_options.proto b/global_options.proto index c6f5292..e45cef2 100644 --- a/global_options.proto +++ b/global_options.proto @@ -18,67 +18,68 @@ message GlobalOptions { optional string classpath = 7; // Additional classpath entries to use optional bool convert_data_types = 8; // Should Liquibase convert to/from STANDARD data types. Applies to both snapshot and update commands. optional string custom_log_data_file = 9; // [PRO]Relative or fully qualified path to a yaml file containing key:value data to inject or exclude data from JSON structured logs. Learn more at https://docs.liquibase.com/structured-logging - optional string database_changelog_lock_table_name = 10; // Name of table to use for tracking concurrent Liquibase usage - optional string database_changelog_table_name = 11; // Name of table to use for tracking change history - optional string database_class = 12; // Class to use for Database implementation - optional int32 ddl_lock_timeout = 13; // The DDL_LOCK_TIMEOUT parameter indicates the number of seconds a DDL command should wait for the locks to become available before throwing the resource busy error message. This applies only to Oracle databases. - optional string defaults_file = 14; // File with default Liquibase properties - optional bool diff_column_order = 15; // Should Liquibase compare column order in diff operation? - optional int32 drift_changed_severity = 16; // Changed object drift severity + optional string custom_log_data_frequency = 10; // [PRO]The frequency that the custom log data will be entered into the logs. Available options are: ONCE,REPEATED + optional string database_changelog_lock_table_name = 11; // Name of table to use for tracking concurrent Liquibase usage + optional string database_changelog_table_name = 12; // Name of table to use for tracking change history + optional string database_class = 13; // Class to use for Database implementation + optional int32 ddl_lock_timeout = 14; // The DDL_LOCK_TIMEOUT parameter indicates the number of seconds a DDL command should wait for the locks to become available before throwing the resource busy error message. This applies only to Oracle databases. + optional string defaults_file = 15; // File with default Liquibase properties + optional bool diff_column_order = 16; // Should Liquibase compare column order in diff operation? optional bool drift_enabled = 17; // Enable or disable drift detection - optional int32 drift_missing_severity = 18; // Missing object drift severity - optional bool drift_report_enabled = 19; // Enable or disable drift reporting. - optional string drift_report_format = 20; // The format of the Drift Report. Currently, can only be set to "html". - optional string drift_report_mode = 21; // The report mode of the Drift Report. The report mode defines the differences to include in the Drift Report. Valid modes include: ALL, MISSING, UNEXPECTED, CHANGED - optional string drift_report_name = 22; // The name of the Drift Report. - optional string drift_report_path = 23; // The path to the directory to generate Drift Reports. - optional int32 drift_unexpected_severity = 24; // Unexpected object drift severity - optional string driver = 25; // Database driver class - optional string driver_properties_file = 26; // Driver-specific properties - optional string duplicate_file_mode = 27; // How to handle multiple files being found in the search path that have duplicate paths. Options are WARN (log warning and choose one at random) or ERROR (fail current operation) - optional bool error_on_circular_include_all = 28; // Throw an error if Liquibase detects that an includeAll will cause a circular reference (and thus a changelog parse error). - optional string file_encoding = 29; // Encoding to use when reading files. Valid values include: UTF-8, UTF-16, UTF-16BE, UTF-16LE, US-ASCII, or OS to use the system configured encoding. - optional bool filter_log_messages = 30; // DEPRECATED: No longer used - optional bool flow_verbose_to_string = 31; // If true, display a more verbose output for the FlowFile toString representation - optional bool generate_changeset_created_values = 32; // Should Liquibase include a 'created' attribute in diff/generateChangelog changesets with the current datetime - optional bool generated_changeset_ids_contains_description = 33; // Should Liquibase include the change description in the id when generating changesets? - optional bool headless = 34; // Force liquibase to think it has no access to a keyboard - optional bool include_catalog_in_specification = 35; // Should Liquibase include the catalog name when determining equality? - optional bool include_system_classpath = 36; // Include the system classpath when resolving classes at runtime - optional string license_key = 37; // Liquibase Pro or Liquibase Labs license key used to unlock paid capabilities. Get a free trial at https://liquibase.com/trial and use in CLI or add liquibase.licenseKey= into your defaults file. - optional string liquibase_catalog_name = 38; // Catalog to use for Liquibase objects - optional string liquibase_schema_name = 39; // Schema to use for Liquibase objects - optional string liquibase_tablespace_name = 40; // Tablespace to use for Liquibase objects - optional string log_channels = 41; // Controls which log channels have their level set by the liquibase.logLevel setting. Comma separate multiple values. To set the level of all channels, use 'all'. Example: liquibase,org.mariadb.jdbc - optional string log_file = 42; - optional string log_format = 43; // Sets the format of log output to console or log files. Open Source users default to unstructured "TEXT" logs to the console or output log files. Pro users have the option to set value as "JSON" or "JSON_PRETTY" to enable json-structured log files to the console or output log files. - optional string log_level = 44; // Controls which logs get set to stderr AND to any log file. The CLI defaults, if log file set, to SEVERE. Others vary by integration. The official log levels are: OFF, SEVERE, WARNING, INFO, FINE - optional bool mirror_console_messages_to_log = 45; // When set to true, the console messages are mirrored to the logs as [liquibase.ui] to provide a more complete picture of liquibase operations to log analysis tools. Set to false to change this behavior. - optional string missing_property_mode = 46; // How to handle changelog property expressions where a value is not set. For example, a string '${address}' when no 'address' property was defined. Values can be: 'preserve' which leaves the string as-is, 'empty' which replaces it with an empty string, or 'error' which stops processing with an error. - optional string monitor_performance = 47; // Enable performance tracking. Set to 'false' to disable. If set to 'true', data is stored to a `liquibase-TIMESTAMP.jfr` file in your working directory. Any other value will enable tracking and be used as the name of the file to write the data to. - optional string native_executor = 48; // Custom executor that can specified - optional string on_missing_include_changelog = 49; // If set to WARN, then liquibase will not throw exception on missing changelog file, instead will show a warning message. - optional string on_missing_sql_file = 50; // If set to WARN, then Liquibase will not throw exception on missing sqlFile inside a sqlFile change type, instead will show a warning message - optional string output_file = 51; - optional string output_file_encoding = 52; // Encoding to use when writing files - optional string output_line_separator = 53; // Line separator for output - optional bool preserve_schema_case = 54; // Should liquibase treat schema and catalog names as case sensitive? - optional string pro_license_key = 55; // DEPRECATED: Liquibase Pro license key used to unlock paid capabilities. Get a free trial at https://www.liquibase.com/protrial and use in CLI or add liquibase.pro.licenseKey= into your defaults file. - optional bool pro_mark_unused_not_drop = 56; // If a column would be dropped in a diffChangeLog, call markUnused instead if set to true - optional bool pro_sql_inline = 57; // If true, generate changeSets with SQL-based changes inlined instead of saving them to an external file - optional bool pro_synonyms_drop_public = 58; // If false, do not drop public synonyms in diffChangeLog/dropAll - optional bool prompt_for_non_local_database = 59; // Should Liquibase prompt if a non-local database is being accessed - optional string property_provider_class = 60; // Implementation of Properties class to provide additional driver properties - optional string search_path = 61; // Complete list of Location(s) to search for files such as changelog files in. Multiple paths can be specified by separating them with commas. - optional bool secure_parsing = 62; // If true, remove functionality from file parsers which could be used insecurely. Examples include (but not limited to) disabling remote XML entity support. - optional bool should_run = 63; // Should Liquibase commands execute - optional bool should_snapshot_data = 64; // Should Liquibase snapshot data by default? - optional bool show_banner = 65; // If true, show a Liquibase banner on startup. - optional string sql_log_level = 66; // Level to log SQL statements to - optional bool sql_show_sql_warnings = 67; // Show SQLWarning messages - optional bool strict = 68; // Be stricter on allowed Liquibase configuration and setup? - optional bool support_property_escaping = 69; // Support escaping changelog parameters using a colon. Example: ${:user.name} - optional bool use_procedure_schema = 70; // If set to true (default value), createProcedure tags with a set schemaName will modify the procedure body with the given schema name. - optional bool validate_xml_changelog_files = 71; // Will perform xsd validation of XML changelog files. When many XML changelog files are included this validation may impact Liquibase performance. Defaults to true. + optional int32 drift_severity = 18; // Global object drift severity + optional int32 drift_severity_changed = 19; // Changed object drift severity + optional int32 drift_severity_missing = 20; // Missing object drift severity + optional int32 drift_severity_unexpected = 21; // Unexpected object drift severity + optional string driver = 22; // Database driver class + optional string driver_properties_file = 23; // Driver-specific properties + optional string duplicate_file_mode = 24; // How to handle multiple files being found in the search path that have duplicate paths. Options are WARN (log warning and choose one at random) or ERROR (fail current operation) + optional bool error_on_circular_include_all = 25; // Throw an error if Liquibase detects that an includeAll will cause a circular reference (and thus a changelog parse error). + optional string file_encoding = 26; // Encoding to use when reading files. Valid values include: UTF-8, UTF-16, UTF-16BE, UTF-16LE, US-ASCII, or OS to use the system configured encoding. + optional bool filter_log_messages = 27; // DEPRECATED: No longer used + optional bool flow_verbose_to_string = 28; // If true, display a more verbose output for the FlowFile toString representation + optional bool generate_changeset_created_values = 29; // Should Liquibase include a 'created' attribute in diff/generateChangelog changesets with the current datetime + optional bool generated_changeset_ids_contains_description = 30; // Should Liquibase include the change description in the id when generating changesets? + optional bool headless = 31; // Force liquibase to think it has no access to a keyboard + optional bool include_catalog_in_specification = 32; // Should Liquibase include the catalog name when determining equality? + optional bool include_system_classpath = 33; // Include the system classpath when resolving classes at runtime + optional string license_key = 34; // Liquibase Pro or Liquibase Labs license key used to unlock paid capabilities. Get a free trial at https://liquibase.com/trial and use in CLI or add liquibase.licenseKey= into your defaults file. + optional string liquibase_catalog_name = 35; // Catalog to use for Liquibase objects + optional string liquibase_schema_name = 36; // Schema to use for Liquibase objects + optional string liquibase_tablespace_name = 37; // Tablespace to use for Liquibase objects + optional string log_channels = 38; // Controls which log channels have their level set by the liquibase.logLevel setting. Comma separate multiple values. To set the level of all channels, use 'all'. Example: liquibase,org.mariadb.jdbc + optional string log_file = 39; + optional string log_format = 40; // Sets the format of log output to console or log files. Open Source users default to unstructured "TEXT" logs to the console or output log files. Pro users have the option to set value as "JSON" or "JSON_PRETTY" to enable json-structured log files to the console or output log files. + optional string log_level = 41; // Controls which logs get set to stderr AND to any log file. The CLI defaults, if log file set, to SEVERE. Others vary by integration. The official log levels are: OFF, SEVERE, WARNING, INFO, FINE + optional bool mirror_console_messages_to_log = 42; // When set to true, the console messages are mirrored to the logs as [liquibase.ui] to provide a more complete picture of liquibase operations to log analysis tools. Set to false to change this behavior. + optional string missing_property_mode = 43; // How to handle changelog property expressions where a value is not set. For example, a string '${address}' when no 'address' property was defined. Values can be: 'preserve' which leaves the string as-is, 'empty' which replaces it with an empty string, or 'error' which stops processing with an error. + optional string monitor_performance = 44; // Enable performance tracking. Set to 'false' to disable. If set to 'true', data is stored to a `liquibase-TIMESTAMP.jfr` file in your working directory. Any other value will enable tracking and be used as the name of the file to write the data to. + optional string native_executor = 45; // Custom executor that can specified + optional string on_missing_include_changelog = 46; // If set to WARN, then liquibase will not throw exception on missing changelog file, instead will show a warning message. + optional string on_missing_sql_file = 47; // If set to WARN, then Liquibase will not throw exception on missing sqlFile inside a sqlFile change type, instead will show a warning message + optional string output_file = 48; + optional string output_file_encoding = 49; // Encoding to use when writing files + optional string output_line_separator = 50; // Line separator for output + optional bool preserve_schema_case = 51; // Should liquibase treat schema and catalog names as case sensitive? + optional string pro_license_key = 52; // DEPRECATED: Liquibase Pro license key used to unlock paid capabilities. Get a free trial at https://www.liquibase.com/protrial and use in CLI or add liquibase.pro.licenseKey= into your defaults file. + optional bool pro_mark_unused_not_drop = 53; // If a column would be dropped in a diffChangeLog, call markUnused instead if set to true + optional bool pro_sql_inline = 54; // If true, generate changeSets with SQL-based changes inlined instead of saving them to an external file + optional bool pro_synonyms_drop_public = 55; // If false, do not drop public synonyms in diffChangeLog/dropAll + optional bool prompt_for_non_local_database = 56; // Should Liquibase prompt if a non-local database is being accessed + optional string property_provider_class = 57; // Implementation of Properties class to provide additional driver properties + optional bool reports_enabled = 58; // Enable or disable reporting. + optional string reports_format = 59; // The format of the report. Currently, can only be set to "html". + optional string reports_name = 60; // The name of the reports. + optional string reports_path = 61; // The path to the directory to generate the reports. + optional string search_path = 62; // Complete list of Location(s) to search for files such as changelog files in. Multiple paths can be specified by separating them with commas. + optional bool secure_parsing = 63; // If true, remove functionality from file parsers which could be used insecurely. Examples include (but not limited to) disabling remote XML entity support. + optional bool should_run = 64; // Should Liquibase commands execute + optional bool should_snapshot_data = 65; // Should Liquibase snapshot data by default? + optional bool show_banner = 66; // If true, show a Liquibase banner on startup. + optional string sql_log_level = 67; // Level to log SQL statements to + optional bool sql_show_sql_warnings = 68; // Show SQLWarning messages + optional bool strict = 69; // Be stricter on allowed Liquibase configuration and setup? + optional bool support_property_escaping = 70; // Support escaping changelog parameters using a colon. Example: ${:user.name} + optional bool use_procedure_schema = 71; // If set to true (default value), createProcedure tags with a set schemaName will modify the procedure body with the given schema name. + optional bool validate_xml_changelog_files = 72; // Will perform xsd validation of XML changelog files. When many XML changelog files are included this validation may impact Liquibase performance. Defaults to true. }