diff --git a/wizard-server/src/main/java/org/cobbzilla/wizard/server/config/PgRestServerConfiguration.java b/wizard-server/src/main/java/org/cobbzilla/wizard/server/config/PgRestServerConfiguration.java index 45c4fb5..ed0bef7 100644 --- a/wizard-server/src/main/java/org/cobbzilla/wizard/server/config/PgRestServerConfiguration.java +++ b/wizard-server/src/main/java/org/cobbzilla/wizard/server/config/PgRestServerConfiguration.java @@ -417,4 +417,13 @@ public class PgRestServerConfiguration extends RestServerConfiguration implement .generateConstraintSql(includeIndexes).toArray(new String[0]); } + public boolean tableExists(String tableName) { + try { + execSql("select count(*) from "+tableName); + return true; + } catch (Exception e) { + return false; + } + } + } diff --git a/wizard-server/src/main/java/org/cobbzilla/wizard/server/listener/FlywayMigrationListener.java b/wizard-server/src/main/java/org/cobbzilla/wizard/server/listener/FlywayMigrationListener.java index 337fd52..24b8333 100644 --- a/wizard-server/src/main/java/org/cobbzilla/wizard/server/listener/FlywayMigrationListener.java +++ b/wizard-server/src/main/java/org/cobbzilla/wizard/server/listener/FlywayMigrationListener.java @@ -33,10 +33,9 @@ public class FlywayMigrationListener extends final PgRestServerConfiguration configuration = (PgRestServerConfiguration) server.getConfiguration(); if (configuration.getDatabase().isMigrationEnabled()) { // does the flyway table exist? If not, this is a first-time setup - try { - configuration.execSql("select count(*) from "+getFlywayTableName()); + if (configuration.tableExists(getFlywayTableName())) { migrate(configuration); - } catch (Exception e) { + } else { log.warn("beforeStart: database schema does not seem to exist, will create it"); configuration.getDatabase().getHibernate().setHbm2ddlAuto("create"); }