Oracle SQLcl 23.1 Enhanced APEX functionality
An Overview of the New APEX Features in Oracle SQLcl 23.1
Oracle SQLcl 23.1 is here and it comes packed with exciting new features that will make the life of Oracle Database developers much easier. Among these features, the improvements made to APEX are some of the most noteworthy.
In previous versions of SQLcl, the APEX export command was the only option available for exporting APEX applications. However, in version 23.1, this has been broken down into multiple commands, providing developers with more control and flexibility than ever before.
By using the new APEX export commands, developers can now specify the application ID, the application workspace, or even specific pages to export. This allows developers to create more targeted exports, reducing the amount of time it takes to move changes from one environment to another.
To learn more about the new APEX export commands and other features in SQLcl 23.1, be sure to check out the product documentation or run the APEX export help
commands within SQLcl.
Here is the list of new individual commands
export|ex. (Export APEX applications and or workspaces)
export-all-applications|exaa (Export all applications in a workspace)
export-all-workspaces|exaw. (Export all workspaces without their applications, structure only)
export-application|exa (Export all or the parts of an application)
export-components|excom. (Export specific nents within an application)
export-feedback|exf. (Export workspace feedback)
export-workspace|exw. (Export workspace without the applications, structure only)
list|ls (Generate a list of available components)
log|lo (Reports APEX application usage from APEX_WORKSPACE_LOG_SUMMARY)
version|ve (Display version information)
In addition, we have a new liquibase generate apex objects (lb geao) command.
You can get help on the new command by doing
liquibase geao help
Running this produces
SQL> liquibase geao help
Usage:
Liquibase|lb generate-apex-object|geao OPTIONS
Generates the changeset for an APEX object
This command uses custom extension functionality.
XML files are generated defining the ddl for the APEX object.
Options:
-exporiginalids | -exoi [REQUIRED] [Default:true] {true|false}
Export will emit ids as they were when the application was imported
-applicationid | -api
ID for application to be exported
-changesby | -chb
Expects string parameter. Limit -list values to changes by the given user
-changessince | -chs
Expects date parameter (yyyy-mm-dd). Limit -list values to changes since the
given date
-contexts | -co
Context string to use for filtering which changes to operate on
-debug | -de {true|false}
Enable Debug output
-deploymentsystem | -desy
Deployment system for exported feedback
-dir | -di
Save all files in the given directory, e.g. -dir some/sub/directory
-expaclassignments | -exacl {true|false}
Export ACL User Role Assignments
-expcomponents | -exc
Export application components. All remaining parameters must be of form TYPE:ID
-expfeedback | -exfe {true|false}
Export team development feedback for all workspaces or identified by
-workspaceid
-expfeedbacksince | -exfs
Export team development feedback since date in the format YYYYMMDD
-expfiles | -exfi {true|false}
Export all workspace files identified by -workspaceid
-expirnotif | -exir {true|false}
Export all interactive report notifications
-expminimal | -exmi {true|false}
Only export workspace definition, users, and groups
-expnosubscriptions | -exns {true|false}
Do not export references to subscribed components
-exppubreports | -exre {true|false}
Export all user saved public interactive reports
-expsavedreports | -exsr {true|false}
Export all user saved interactive reports
-expsupportingobjects | -exso [Default:Y] {Y|N|I}
Pass (Y)es, (N)o or (I)nstall to override the default
-expteamdevdata | -exte {true|false}
Export team development data for all workspaces or identified by -workspaceid
-exptranslations | -extr {true|false}
Export the translation mappings and all text from the translation repository
-exptype | -exty [Default:APPLICATION_SOURCE]
{APPLICATION_SOURCE|EMBEDDED_CODE|CHECKSUM-SH1|CHECKSUM-SH256|READABLE_YAML|READ
ABLE_JSON}
Comma delimited list of export types to perform:
* APPLICATION_SOURCE: export an APEX application using other parameters passed.
* EMBEDDED_CODE: Export code such as SQL, PL/SQL and Javascript. APEX ignores
all other options when EMBEDDED_CODE is selected.
* CHECKSUM-SH1: Export a SHA1 checksum that is independent of IDs and can be
compared across instances and workspaces.
* CHECKSUM-SH256: Export a SHA-256 checksum that is independent of IDs and can
be compared across instances and workspaces.
* READABLE_JSON: Export a readable version of the application meta-data in JSON
format.
* READABLE_YAML: Export a readable version of the application meta-data in YAML
format.
-expworkspace | -exwo {true|false}
Export workspace identified by -workspaceid or all workspaces if -workspaceid
not specified
-fail-on-error | -foe [Default:false] {true|false}
Set failonError attribute to true in changelog
-instance | -in {true|false}
Export all applications
-labels | -la
Label expression to use for filtering which changes to operate on
-log | -lo [Default:false] {true|false}
Enable Logging
Standard logging is INFO level (no debug flag)
Debug logging is FINEST level (both log and debug flag)
-nochecksum | -noch {true|false}
Overwrite existing files even if the contents have not changed
-runalways | -ra [Default:true] {true|false}
Set runAlways attribute to true in changelog
-skipexportdate | -sked [Default:true] {true|false}
Exclude export date from application export files
-split | -sp {true|false}
Split applications into multiple files
-workspaceid | -woi
Workspace ID for which all applications to be exported or the workspace to be
exported
Overall, Oracle SQLcl 23.1 brings some welcome new features and improvements that will help developers when working with the Oracle Database.
From the enhancements to APEX export commands to the Liquibase generate APEX objects command, developers now have many new tools at their disposal.
However, this is just an overview of the new features, so stay tuned for more deep dives into the specific features and how they can be used to streamline your development workflow