Nazar - Melhorias

bug#12464
dev:trevezani
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/BD/FlyWay/trunk@87513 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2018-11-29 13:26:56 +00:00
parent 7ee8bf797e
commit da4f03b58d
1 changed files with 38 additions and 24 deletions

View File

@ -172,17 +172,30 @@ public class FlyWay {
FlywayCallback[] callbacks = new FlywayCallback[]{ errorCallback };
flyway.setCallbacks(callbacks);
boolean reexecute = false;
do {
reexecute = false;
try {
flyway.migrate();
} catch (final Exception e) {
if (errorCallback.getScriptError() != null) {
reexecute = true;
log.error("[Flyway] Erro ao executar o script: " + errorCallback.getScriptError() + ". Este script sera desabilitado na tabela FLYWAY_SCRIPTS.");
File scriptFile = new File(JBOSS_DATA, "flyway");
scriptFile = new File(scriptFile, errorCallback.getScriptError());
if (scriptFile.exists()) {
log.info("[Flyway] Excluindo fisicamente o script: " + errorCallback.getScriptError() + ". " + (scriptFile.delete() ? "OK" : "ERROR"));
boolean success = scriptFile.delete();
log.info("[Flyway] Excluindo fisicamente o script: " + errorCallback.getScriptError() + ". " + (success ? "OK" : "ERROR"));
if (!success) {
reexecute = false;
}
}
try {
@ -197,6 +210,7 @@ public class FlyWay {
flyway.repair();
}
} while (reexecute);
} else {
flyway.migrate();
}