Search code examples
oracle-apex

Oracle APEX 21.2 - REST Data Source Syncronization Disabled on Import


I created a REST Data Source in an application that consumes data from an external API source. I have set up a Syncronization to check for changes to the data and pull them into a local table in the Oracle database.

When I deployed this application from DEV to UAT, the synchronization was disabled in UAT, and it would not run the scheduled job until the DBA did a manual synchronization. I am assuming this enabled it. I have read that Automations are disabled on import by design, but have not been able to determine if RDS synchronizations are automations or something else.

  1. Are REST Data Source synchronizations scheduled jobs or automations?
  2. Where are these synchronization objects stored in the database?
  3. Is there an API to enable them, so I can include it in my deployment scripts to the DBA?

I am trying to get a better understanding of how to deploy REST Data Sources and there syncronization logic between environments being new to them.


Solution

  • APEX documentation for newer releases have a chapter about this: https://docs.oracle.com/en/database/oracle/apex/23.1/htmdb/managing-data-synchronization.html#GUID-380EF5B0-1836-4887-83F1-9F7126872A42

    However this is valid for 21.2 also. After importing an app, all REST Synchronizations are disabled; which is intentional. The reasoning is that some people import their apps multiple times into the same workspace, which would lead to conflicting synchronizations running at the same time.

    The documentation spells out how to enable the synchronization after import (APEX_REST_SOURCE_SYNC) package.