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-87c2c4800839master
parent
7ee8bf797e
commit
da4f03b58d
|
@ -172,31 +172,45 @@ public class FlyWay {
|
|||
FlywayCallback[] callbacks = new FlywayCallback[]{ errorCallback };
|
||||
flyway.setCallbacks(callbacks);
|
||||
|
||||
try {
|
||||
flyway.migrate();
|
||||
} catch (final Exception e) {
|
||||
if (errorCallback.getScriptError() != null) {
|
||||
log.error("[Flyway] Erro ao executar o script: " + errorCallback.getScriptError() + ". Este script sera desabilitado na tabela FLYWAY_SCRIPTS.");
|
||||
boolean reexecute = false;
|
||||
|
||||
File scriptFile = new File(JBOSS_DATA, "flyway");
|
||||
scriptFile = new File(scriptFile, errorCallback.getScriptError());
|
||||
do {
|
||||
reexecute = false;
|
||||
|
||||
if (scriptFile.exists()) {
|
||||
log.info("[Flyway] Excluindo fisicamente o script: " + errorCallback.getScriptError() + ". " + (scriptFile.delete() ? "OK" : "ERROR"));
|
||||
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()) {
|
||||
boolean success = scriptFile.delete();
|
||||
|
||||
log.info("[Flyway] Excluindo fisicamente o script: " + errorCallback.getScriptError() + ". " + (success ? "OK" : "ERROR"));
|
||||
|
||||
if (!success) {
|
||||
reexecute = false;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
Connection c = flyway.getDataSource().getConnection();
|
||||
PreparedStatement ps = c.prepareStatement("update flyway_scripts set activo = 0 where nome like ?");
|
||||
ps.setString(1, errorCallback.getScriptError().replace(".sql", ""));
|
||||
ps.executeUpdate();
|
||||
|
||||
} catch (SQLException e1) {
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
Connection c = flyway.getDataSource().getConnection();
|
||||
PreparedStatement ps = c.prepareStatement("update flyway_scripts set activo = 0 where nome like ?");
|
||||
ps.setString(1, errorCallback.getScriptError().replace(".sql", ""));
|
||||
ps.executeUpdate();
|
||||
|
||||
} catch (SQLException e1) {
|
||||
}
|
||||
flyway.repair();
|
||||
}
|
||||
|
||||
flyway.repair();
|
||||
}
|
||||
} while (reexecute);
|
||||
} else {
|
||||
flyway.migrate();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue