private Database createDatabase( ManagedDataSource dataSource, Namespace namespace ) throws SQLException, LiquibaseException { final DatabaseConnection conn = new JdbcConnection(dataSource.getConnection()); final Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(conn); final String catalogName = namespace.getString("catalog"); final String schemaName = namespace.getString("schema"); if (database.supportsCatalogs() && catalogName != null) { database.setDefaultCatalogName(catalogName); database.setOutputDefaultCatalog(true); } if (database.supportsSchemas() && schemaName != null) { database.setDefaultSchemaName(schemaName); database.setOutputDefaultSchema(true); } return database; }
if(database.supportsCatalogs() && StringUtils.isNotEmpty(catalogName)) { database.setDefaultCatalogName(catalogName); database.setOutputDefaultCatalog(true);
private Database createDatabase( ManagedDataSource dataSource, Namespace namespace ) throws SQLException, LiquibaseException { final DatabaseConnection conn = new JdbcConnection(dataSource.getConnection()); final Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(conn); final String catalogName = namespace.getString("catalog"); final String schemaName = namespace.getString("schema"); if (database.supportsCatalogs() && catalogName != null) { database.setDefaultCatalogName(catalogName); database.setOutputDefaultCatalog(true); } if (database.supportsSchemas() && schemaName != null) { database.setDefaultSchemaName(schemaName); database.setOutputDefaultSchema(true); } return database; }
private void applyLiquibaseChangelog( SQLDialect dialect ) throws SQLException, LiquibaseException { Liquibase liquibase = liquibaseService.newConnectedLiquibase(); Database db = liquibase.getDatabase(); db.setObjectQuotingStrategy( ObjectQuotingStrategy.QUOTE_ALL_OBJECTS ); try { if( !dialect.equals( SQLDialect.SQLITE ) ) { if( db.supportsSchemas() ) { db.setDefaultSchemaName( schema.getName() ); db.setLiquibaseSchemaName( schema.getName() ); } if( db.supportsCatalogs() ) { db.setDefaultCatalogName( schema.getName() ); db.setLiquibaseCatalogName( schema.getName() ); } } liquibase.getChangeLogParameters().set( TABLE_NAME_LIQUIBASE_PARAMETER, table.getName() ); liquibase.update( new Contexts() ); } finally { db.close(); } }