createNeeded = createNeeded || !tables.contains(tableName);
}
if(createNeeded) {
log.info("creating new KiWi database ...");
ScriptRunner runner = new ScriptRunner(connection.getJDBCConnection(), false, false);
runner.runScript(new StringReader(configuration.getDialect().getCreateScript(scriptName)));
} else {
int version = connection.getDatabaseVersion();
String updateScript = configuration.getDialect().getMigrationScript(version,scriptName);
if(updateScript != null && updateScript.length() > 0) {
log.info("upgrading existing KiWi database from version {} to version {}", version, configuration.getDialect().getVersion());
ScriptRunner runner = new ScriptRunner(connection.getJDBCConnection(), false, false);
runner.runScript(new StringReader(updateScript));
} else {
log.info("connecting to existing KiWi database (version: {})",version);
}
}