DEV Community

Cover image for Reativar automations específicas após update da aplicação no Oracle APEX
Valter Zanchetti Filho
Valter Zanchetti Filho

Posted on

Reativar automations específicas após update da aplicação no Oracle APEX

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;
/
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Fontes:

https://docs.oracle.com/en/database/oracle/apex/24.1/aeapi/APEX_AUTOMATION_ENABLE-Procedure.html

Top comments (0)