diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/multitenancy/persistence/TenantSpringLiquibaseExecutor.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/multitenancy/persistence/TenantSpringLiquibaseExecutor.java index 93cb27b9a..13cc2faef 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/multitenancy/persistence/TenantSpringLiquibaseExecutor.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/multitenancy/persistence/TenantSpringLiquibaseExecutor.java @@ -52,7 +52,7 @@ public class TenantSpringLiquibaseExecutor implements InitializingBean, Resource for (TenantEntity tenant : tenants) { log.info("Initializing Liquibase for tenant " + tenant.getTenantId()); - try (Connection connection = DriverManager.getConnection(JDBCUtils.buildJdbcUrl(tenant.getDatabaseConnection()), + try (Connection connection = DriverManager.getConnection(JDBCUtils.buildJdbcUrlWithSchema(tenant.getDatabaseConnection()), tenant.getDatabaseConnection().getUsername(), encryptionService.decrypt(tenant.getDatabaseConnection().getPassword()))) { DataSource tenantDataSource = new SingleConnectionDataSource(connection, false); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/jdbc/JDBCUtils.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/jdbc/JDBCUtils.java index 28e969139..46c3b89fc 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/jdbc/JDBCUtils.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/jdbc/JDBCUtils.java @@ -61,4 +61,22 @@ public class JDBCUtils { } return sb.toString(); } + + public String buildJdbcUrlWithSchema(DatabaseConnectionEntity databaseConnection){ + StringBuilder sb = new StringBuilder("jdbc:") + .append(databaseConnection.getDriver()) + .append("://") + .append(databaseConnection.getHost()) + .append(':') + .append(databaseConnection.getPort()) + .append('/') + .append(databaseConnection.getDatabase()) + .append('?') + .append("currentSchema=") + .append(databaseConnection.getSchema()); + if(databaseConnection.getParams() != null) { + databaseConnection.getParams().forEach((k, v) -> sb.append('&').append(k).append(v)); + } + return sb.toString(); + } }