Skip to content

Commit

Permalink
Adding support to parameters referenceLiquibaseCatalogName and refere…
Browse files Browse the repository at this point in the history
…nceLiquibaseSchemaName.
  • Loading branch information
filipelautert committed Jun 5, 2023
1 parent 39b485e commit ca72557
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ Optional Args:
Default: null
referenceDriverPropertiesFile (String) The JDBC driver properties file for the reference database
Default: null
referenceLiquibaseCatalogName (String) Reference catalog to use for Liquibase objects
Default: null
referenceLiquibaseSchemaName (String) Reference schema to use for Liquibase objects
Default: null
referencePassword (String) The reference database password
Default: null
OBFUSCATED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ Optional Args:
Default: null
referenceDriverPropertiesFile (String) The JDBC driver properties file for the reference database
Default: null
referenceLiquibaseCatalogName (String) Reference catalog to use for Liquibase objects
Default: null
referenceLiquibaseSchemaName (String) Reference schema to use for Liquibase objects
Default: null
referencePassword (String) The reference database password
Default: null
OBFUSCATED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ Optional Args:
Default: null
referenceDriverPropertiesFile (String) The JDBC driver properties file for the reference database
Default: null
referenceLiquibaseCatalogName (String) Reference catalog to use for Liquibase objects
Default: null
referenceLiquibaseSchemaName (String) Reference schema to use for Liquibase objects
Default: null
referencePassword (String) The reference database password
Default: null
OBFUSCATED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ public class GenerateChangelogCommandStep extends AbstractCommandStep {
public static final CommandArgumentDefinition<String> REFERENCE_DRIVER_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_DRIVER_PROPERTIES_FILE_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_SCHEMAS_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_LIQUIBASE_SCHEMA_NAME_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_LIQUIBASE_CATALOG_NAME_ARG;

static {
final CommandBuilder builder = new CommandBuilder(COMMAND_NAME);
Expand Down Expand Up @@ -72,6 +74,10 @@ public class GenerateChangelogCommandStep extends AbstractCommandStep {
REFERENCE_PASSWORD_ARG = builder.argument("referencePassword", String.class).hidden()
.setValueObfuscator(ConfigurationValueObfuscator.STANDARD).build();
REFERENCE_SCHEMAS_ARG = builder.argument("referenceSchemas", String.class).hidden().build();
REFERENCE_LIQUIBASE_SCHEMA_NAME_ARG = builder.argument("referenceLiquibaseSchemaName", String.class)
.hidden().build();
REFERENCE_LIQUIBASE_CATALOG_NAME_ARG = builder.argument("referenceLiquibaseCatalogName", String.class)
.hidden().build();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import liquibase.database.core.DatabaseUtils;
import liquibase.exception.DatabaseException;
import liquibase.integration.commandline.LiquibaseCommandLineConfiguration;
import liquibase.logging.mdc.MdcKey;
import liquibase.resource.ResourceAccessor;
import liquibase.util.StringUtil;

Expand Down Expand Up @@ -49,8 +48,9 @@ protected Database createDatabaseObject(String url,
String defaultSchemaName,
String defaultCatalogName,
String driver,
String driverPropertiesFile)
throws DatabaseException {
String driverPropertiesFile,
String liquibaseCatalogName,
String liquibaseSchemaName) throws DatabaseException {
ResourceAccessor resourceAccessor = Scope.getCurrentScope().getResourceAccessor();
String databaseClassName = null;
Class<?> databaseClass = LiquibaseCommandLineConfiguration.DATABASE_CLASS.getCurrentValue();
Expand All @@ -62,8 +62,6 @@ protected Database createDatabaseObject(String url,
if (clazz != null) {
propertyProviderClass = clazz.getName();
}
String liquibaseCatalogName = StringUtil.trimToNull(GlobalConfiguration.LIQUIBASE_CATALOG_NAME.getCurrentValue());
String liquibaseSchemaName = StringUtil.trimToNull(GlobalConfiguration.LIQUIBASE_SCHEMA_NAME.getCurrentValue());
String databaseChangeLogTablespaceName = StringUtil.trimToNull(GlobalConfiguration.LIQUIBASE_TABLESPACE_NAME.getCurrentValue());
String databaseChangeLogLockTableName = StringUtil.trimToNull(GlobalConfiguration.DATABASECHANGELOGLOCK_TABLE_NAME.getCurrentValue());
String databaseChangeLogTableName = StringUtil.trimToNull(GlobalConfiguration.DATABASECHANGELOG_TABLE_NAME.getCurrentValue());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package liquibase.command.core.helpers;

import liquibase.Beta;
import liquibase.GlobalConfiguration;
import liquibase.Scope;
import liquibase.command.*;
import liquibase.configuration.ConfigurationValueObfuscator;
import liquibase.database.Database;
import liquibase.exception.DatabaseException;
import liquibase.logging.mdc.MdcKey;
import liquibase.util.StringUtil;

import java.util.Collections;
import java.util.List;
Expand Down Expand Up @@ -89,7 +91,9 @@ private Database obtainDatabase(CommandScope commandScope) throws DatabaseExcept
String defaultCatalogName = commandScope.getArgumentValue(DEFAULT_CATALOG_NAME_ARG);
String driver = commandScope.getArgumentValue(DRIVER_ARG);
String driverPropertiesFile = commandScope.getArgumentValue(DRIVER_PROPERTIES_FILE_ARG);
Database database = createDatabaseObject(url, username, password, defaultSchemaName, defaultCatalogName, driver, driverPropertiesFile);
Database database = createDatabaseObject(url, username, password, defaultSchemaName, defaultCatalogName, driver, driverPropertiesFile,
StringUtil.trimToNull(GlobalConfiguration.LIQUIBASE_CATALOG_NAME.getCurrentValue()),
StringUtil.trimToNull(GlobalConfiguration.LIQUIBASE_SCHEMA_NAME.getCurrentValue()));
logMdc(url, database);
return database;
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import liquibase.database.Database;
import liquibase.exception.DatabaseException;
import liquibase.logging.mdc.MdcKey;
import liquibase.util.StringUtil;

import java.util.Collections;
import java.util.List;
Expand All @@ -26,6 +27,8 @@ public class ReferenceDbUrlConnectionCommandStep extends AbstractDatabaseConnect
public static final CommandArgumentDefinition<String> REFERENCE_DEFAULT_CATALOG_NAME_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_DRIVER_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_DRIVER_PROPERTIES_FILE_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_LIQUIBASE_SCHEMA_NAME_ARG;
public static final CommandArgumentDefinition<String> REFERENCE_LIQUIBASE_CATALOG_NAME_ARG;


static {
Expand All @@ -48,6 +51,11 @@ public class ReferenceDbUrlConnectionCommandStep extends AbstractDatabaseConnect
REFERENCE_URL_ARG = builder.argument("referenceUrl", String.class).required().supersededBy(REFERENCE_DATABASE_ARG)
.description("The JDBC reference database connection URL").build();
REFERENCE_DATABASE_ARG.setSupersededBy(REFERENCE_URL_ARG);

REFERENCE_LIQUIBASE_SCHEMA_NAME_ARG = builder.argument("referenceLiquibaseSchemaName", String.class)
.description("Reference schema to use for Liquibase objects").build();
REFERENCE_LIQUIBASE_CATALOG_NAME_ARG = builder.argument("referenceLiquibaseCatalogName", String.class)
.description("Reference catalog to use for Liquibase objects").build();
}

@Override
Expand Down Expand Up @@ -77,7 +85,9 @@ private Database obtainDatabase(CommandScope commandScope) throws DatabaseExcept
String driver = commandScope.getArgumentValue(REFERENCE_DRIVER_ARG);
String driverPropertiesFile = commandScope.getArgumentValue(REFERENCE_DRIVER_PROPERTIES_FILE_ARG);
logMdc(url, username, defaultSchemaName, defaultCatalogName);
return createDatabaseObject(url, username, password, defaultSchemaName, defaultCatalogName, driver, driverPropertiesFile);
return createDatabaseObject(url, username, password, defaultSchemaName, defaultCatalogName, driver, driverPropertiesFile,
StringUtil.trimToNull(commandScope.getArgumentValue(REFERENCE_LIQUIBASE_CATALOG_NAME_ARG)),
StringUtil.trimToNull(commandScope.getArgumentValue(REFERENCE_LIQUIBASE_SCHEMA_NAME_ARG)));
} else {
return commandScope.getArgumentValue(REFERENCE_DATABASE_ARG);
}
Expand Down

0 comments on commit ca72557

Please sign in to comment.