This content originally appeared on DEV Community and was authored by Valter Zanchetti Filho
Uma coisa que as vezes é um pouco irritante é o fato de que o APEX desativa todas as automations depois que a aplicação é sobrescrita por uma nova versão.
Eu costumo automatizar boa parte do pipeline de geração e aplicação de release de objetos de bancos de dados e apps em outros servidores e percebi que, por padrão, as automations são sempre desativadas após o update do app.
Para contornar esse problema, fiz o script abaixo, que é rodado após o update bem sucedido de cada aplicação. Você pode modificar para as suas necessidades colocando cada uma das automations que você tem interesse em reativar. Você também pode modificar o script a seu critério.
SET SERVEROUTPUT ON
BEGIN
apex_util.set_workspace('YOUR_WORKSPACE_NAME');
apex_session.create_session(
p_app_id => 117, --App ID
p_page_id => 1, --Any Page in the App
p_username => 'VALTER' ); -- Any valid APEX User
--Enable specific automation
apex_automation.enable(
p_application_id => 117, --App Id
p_static_id => 'emitir-espelho-retorno-nf' ); -- Static id
--Destroying the session
apex_session.delete_session;
END;
/
Você também pode fazer um loop simples para rodar em todas as suas automations ou criar alguma outra lógica se baseando no select dessa view:
SELECT * FROM APEX_APPL_AUTOMATION
Fontes:
https://docs.oracle.com/en/database/oracle/apex/24.1/aeapi/APEX_AUTOMATION_ENABLE-Procedure.html
This content originally appeared on DEV Community and was authored by Valter Zanchetti Filho