diff --git a/pom.xml b/pom.xml index b88f0d713..f11c0ca6f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores Flyway - 1.79.1 + 1.79.2 diff --git a/src/db/backup/oracle/V20240808_1749__AL-4214.sql b/src/db/backup/oracle/V20240808_1749__AL-4214.sql index f4af8ee46..097a9e418 100644 --- a/src/db/backup/oracle/V20240808_1749__AL-4214.sql +++ b/src/db/backup/oracle/V20240808_1749__AL-4214.sql @@ -4,36 +4,42 @@ DECLARE PRAGMA EXCEPTION_INIT(dup_val_on_index, -00001); PRAGMA EXCEPTION_INIT(except_02291, -02291); - + col_exists NUMBER := 0; BEGIN - - BEGIN - EXECUTE IMMEDIATE 'ALTER TABLE tipo_evento_extra ADD (indquantviasimprimir NUMBER(1) DEFAULT 1)'; - EXCEPTION - WHEN dup_val_on_index THEN - DBMS_OUTPUT.PUT_LINE('A coluna QUANTIDADEVIASIMPRIMIR já existe.'); - WHEN OTHERS THEN - RAISE; - END; - - - BEGIN - EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 1'; - EXCEPTION - WHEN except_02291 THEN - DBMS_OUTPUT.PUT_LINE('Erro ao atualizar valores padrão.'); - WHEN OTHERS THEN - RAISE; - END; - - -- Ajusta o valor da coluna para 2 nos casos específicos de "Vale Cobrador" e "Sangria" RETRO para os CARDS: AL-3449 e AL-2817 - BEGIN - EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 2 WHERE desctipoevento IN (''VALE COBRADOR'', ''SANGRIA'')'; - EXCEPTION - WHEN except_02291 THEN - DBMS_OUTPUT.PUT_LINE('Erro ao ajustar valores para "Vale Cobrador" e "Sangria".'); - WHEN OTHERS THEN - RAISE; - END; + + SELECT COUNT(*) INTO col_exists FROM all_tab_columns + WHERE table_name = 'TIPO_EVENTO_EXTRA' + AND column_name = 'INDQUANTVIASIMPRIMIR'; + + IF col_exists = 0 THEN + BEGIN + EXECUTE IMMEDIATE 'ALTER TABLE tipo_evento_extra ADD (indquantviasimprimir NUMBER(1) DEFAULT 1)'; + EXCEPTION + WHEN dup_val_on_index THEN + DBMS_OUTPUT.PUT_LINE('A coluna QUANTIDADEVIASIMPRIMIR já existe.'); + WHEN OTHERS THEN + RAISE; + END; + + + BEGIN + EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 1'; + EXCEPTION + WHEN except_02291 THEN + DBMS_OUTPUT.PUT_LINE('Erro ao atualizar valores padrão.'); + WHEN OTHERS THEN + RAISE; + END; + + -- Ajusta o valor da coluna para 2 nos casos específicos de "Vale Cobrador" e "Sangria" RETRO para os CARDS: AL-3449 e AL-2817 + BEGIN + EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 2 WHERE desctipoevento IN (''VALE COBRADOR'', ''SANGRIA'')'; + EXCEPTION + WHEN except_02291 THEN + DBMS_OUTPUT.PUT_LINE('Erro ao ajustar valores para "Vale Cobrador" e "Sangria".'); + WHEN OTHERS THEN + RAISE; + END; + END IF; END; /