X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fdatabase%2FLoadSchema.java;fp=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fdatabase%2FLoadSchema.java;h=2c52b0d502ce36e8fc767c868baeb3cd93c83e5a;hb=57122824826dab8e382bebcea32bddf374cebf1b;hp=2a7925bcc7a8d2b667f8a249ebbf68a5a2065923;hpb=f283c8d30ab3e5cde52906bc41c368f07733bb81;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java b/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java index 2a7925b..2c52b0d 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java +++ b/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java @@ -58,22 +58,35 @@ public class LoadSchema { try { c = cf.get(true); stmt = c.createStatement(); + + // this sets the PG search_path to a consistent schema, otherwise sometimes + // we get public, and sometimes we get dmaap_admin + String cmd = String.format( "SET search_path to %s;", cf.getSchema()); + try { + stmt.execute(cmd); + logger.info("SCHEMA: " + cmd); + } catch (SQLException sqle) { + throw sqle; + } + + + // determine if an upgrade is needed int newver = -1; try { newver = getVer(stmt); } catch (Exception e) {} logger.info("Database schema currently at version " + newver++); + + while ((is = LoadSchema.class.getClassLoader().getResourceAsStream("schema_" + newver + ".sql")) != null) { logger.info("Upgrading database schema to version " + newver); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String s; - String sofar; - if ( newver > 0 ) { - sofar = null; - } else { - sofar = String.format( "SET search_path to %s;", cf.getSchema()); - } + String sofar = null; + + + while ((s = br.readLine()) != null) { logger.info("SCHEMA: " + s); s = s.trim();