package com.sequenceiq.cloudbreak.util;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import org.postgresql.Driver;
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
public class DatabaseUtil {
public static final String DEFAULT_SCHEMA_NAME = "public";
private DatabaseUtil() {
}
public static void createSchemaIfNeeded(String dbType, String dbAddress, String dbName, String dbUser, String dbPassword, String dbSchema)
throws SQLException {
if (!DEFAULT_SCHEMA_NAME.equals(dbSchema)) {
SimpleDriverDataSource ds = new SimpleDriverDataSource();
ds.setDriverClass(Driver.class);
ds.setUrl(String.format("jdbc:%s://%s/%s", dbType, dbAddress, dbName));
Connection conn = ds.getConnection(dbUser, dbPassword);
Statement statement = conn.createStatement();
statement.execute("CREATE SCHEMA IF NOT EXISTS " + dbSchema);
conn.close();
}
}
}