New Version Control in Oracle APEX 20


As we know APEX came with new APEX export utility in Version 20.1. Let’s have a walk through how is works.

Also Checkout related articles

In old APEX versions we had to manually export all the components like Pages, Shared components etc. But APEX 20.1 gives one additional feature of Export as ZIP, Which is a bundle of all the application components. Also APEX has improved the export script file generation, it keeps only updated components tracked and other files remains same if they haven’t changed.

Get the Export of any application. We will change App name, navigation menu entries, one new page and App header Name then see around the script files.

Screenshots before taking export and making changes. 



 Now Take an Export (Select Export as ZIP) 


 Below is the bundle of Exported Application 

 Add the bundle to your version control system SVN or GITHUB. Try with GITHUB. Create Repository 

 Also Checkout related articles

  • First Commit to GITHUB
  • Solving GITHUB Commit Conflicts Clone to local repository and add the application extracted script files. 
  •  After all the above activity we have done, the one version of Application can be created. Let’s commit the changes to origin. 

Now we are ready to make changes, let’s do that.
App Name : APEX 20.1 | New changes
Version : Version 2.0 

Navigation Menu Entries demo Home : demo Home Changes 

App header name changes
APEX 20.1 : APEX 20.1 | New Changes

Finally Add one Demo page. and take an application export. After the above changes application bundle script will get updated, to check this extract the new exported Zip file into the GITHUB Local repo.

  • Check the GITHUB Status.

So GITHUB detects the changes we have done into the application. We can update our install.sql keeping only these updated/ new scripts and provide the migration patch for any upper environment.

Install.sql has below updated scripts


Conclusion: Going forward with APEX 20.1 we don’t have to manage anything manually. Development team can build stuff without any restriction or worrying about the version control, after the any task completion, take your application export and directly put into Version control system. You don’t even have to neither migrate full application every time nor remember what is being added or removed from the application. Full focus on development only.