Why SQLcl Projects is a Great Fit for APEX Citizen Developers

Oracle APEX has always been a tool for both professional development teams and citizen developers. The key advantage of citizen developers is that they have a deep understanding of their department's processes and the specific needs of their colleagues. This means they know exactly what kind of software will be useful in their daily work. However, since they often don’t have a background in IT, working with APEX has traditionally been challenging for them—especially when it comes to structured development and deployment processes.

With APEX 24.1 and 24.2, Oracle has taken a big step forward in making APEX more accessible. By integrating AI-powered features (such as code suggestions and automated error detection), new developers can learn APEX faster and create better applications. But one major issue still remains: deployment. Many citizen developers start by building their apps directly in production, only to realize later—often when their users encounter issues caused by the active development— that this is not the best approach. The problem is not only to understand the value of keeping development and production separate, but also to find a simple and reliable way of doing so.

What Citizen Developers Need

The needs of citizen developers are quite different from those of large development teams. They require:

  • A simple, easy-to-use process that doesn’t require extensive knowledge of development tools.

  • A deployment process that is forgiving if they forget a step since they often juggle development alongside their daily work and might not always follow a strict procedure.

  • Version control to keep track of changes and collaborate with others without additional complexity.

  • A secure setup where no direct access to the production database is required, ensuring compliance and data safety.

A Better Development and Deployment Process

Organizations can make life easier for citizen developers by setting up a structured process:

  • Each APEX app gets its own database schema and a dedicated Git repository.

  • Development happens in at least two environments (ideally three).

  • Each environment corresponds to a Git branch, keeping things organized.

  • Developers only export and version control their own schema’s database objects.

With SQLcl Projects, developers work in APEX and export changes using the project export command. If they forget to export, no problem—the next export will pick up the changes automatically.

A huge benefit of SQLcl Projects is its automated staging process. Instead of manually creating deployment scripts (which is time-consuming and error-prone), SQLcl automatically generates change sets and determines the correct order for execution. This removes the risk of missing database objects in production or breaking an APEX app because something wasn’t deployed. Since SQLcl Projects compares Git branches to generate changes, developers don’t need direct database access to another environment, which also improves security.

Deploying APEX Apps Alongside Database Changes

Another big advantage of SQLcl Projects is that it doesn’t just handle database objects—it also includes the APEX application in the deployment process. This means the app itself is versioned along with the database changes, making everything more reliable and reducing deployment headaches.

Automating Releases and Deployments

Once a developer is happy with their work, they can create a release and generate an artifact for deployment. Another team member or an automated process can then deploy it to other environments, ensuring proper separation of duties. This process can be fully automated:

  1. A developer merges their changes into a staging or release branch.

  2. This triggers an automation tool (like Jenkins) to create a new release, generate an artifact, and deploy it.

With this setup, a citizen developer only needs to remember two commands: project export and project stage.

Flexible Deployment Strategies

SQLcl Projects supports different development and release strategies. The approach described here is a simple, structured release model that works well for citizen developers. However, organizations can also use a feature-branch strategy, where new features are continuously developed and deployed. Dan McGhan has written a great comparison of these methods.

The best part? SQLcl Projects allows teams to adapt as their applications grow. A simple process works well in the beginning, but if an app gets bigger or more developers get involved, it’s easy to switch to a different approach without major disruptions.

Conclusion

SQLcl Projects solves a major problem for APEX citizen developers. It simplifies deployment, ensures versioning of both database objects and APEX applications, and automates complex processes. By making professional deployment workflows easy to use, SQLcl Projects helps citizen developers build and maintain great APEX applications—without needing deep IT knowledge or dealing with deployment headaches.

2
Subscribe to my newsletter

Read articles from Patrizia Regenberg directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Patrizia Regenberg
Patrizia Regenberg