This repository is a derivative work of the APEX Sample Customers Application designed to demonstrate the alignment to the Oracle APEX Application Development Lifecycle Technical Paper.
This repository is used by the "Oracle APEX CI/CD: Step-by-step guide aligned to the Application Lifecycle Technical Paper" blog on Hot off the Application Express. It's recommended that you read that blog.
It also includes
- Logger v3.1.1
- Cypress
The repository structure is as follows:
Name | Information |
---|---|
application | Split APEX application as generated by apexexport2git utility |
build | A customised build based on get2buildzip utility |
changelogs | Liquibase changelogs generated by SQLcl supporting pre/post build and test only |
cypress | Cypress test plans in \e2e folder |
data | Liquibase Changelog for lookup data used by Sample Customers |
database | Changelogs as generated by apexexport2git utility |
deploy | SQL files for supporting pre/post build and test only from \changelog folder |
node_modules | Cypress dependencies |
other_schemas | sub-folders, named by schema, generated by lb genschema |
readable | YAML files as generated by apexexport2git utility |
src | PL/SQL files used by development team |
workspace | SQLcl export of the workspace |
\install.sql | Installs the APEX Split Application |
\cypress.config.js | Initial configuration for cypress |
\package-lock.json | Cypress file |
\package.json | Cypress file |
Source: https://github.com/oracle/apex/tree/22.1/starter-apps/customers
Attribution: https://github.com/oracle/apex/graphs/contributors
The following modifications have been made
- DB Objects scraped from DB & placed in to \src
- Using utilities from Lifecycle Technical Paper files specifically
- Custom version of apexexport2git to export APEX + DB + Workspace
- Custom version of git2buildzip, which built \build\sample_customers_0000.zip (open zip file to see what's zipped)
- Liquibase Changesets created by SQLcl 23.1 for...
- DB objects & placed in to \database
- Data & placed in to \data
- Sample data reversed from login Process & added to \changelogs
- Manual...
- Reordering of install.sql to avoid deploy conflicts introduced SQLcl 23.1
- Removal of storage/tablespace information introduced in SQLcl 23.1
Source: https://github.com/OraOpenSource/Logger
Attribution: https://github.com/OraOpenSource/Logger/graphs/contributors
Logger is not actually used in the Sample Customer Application, however its been tested and included as a proof of concept of the other_schemas capability
The following modifications have been made
- Provided Logger as a other_schema (logger_user) by using SQLcl genschema to convert into Liquibase Changesets
- Initial logger-data.xml provided & included in the controller.xml
\object_grant scripts are provided to grant to SAMPLE_CUSTOMERS schema used in this project. Attempts were made to find the SQLcl LB Substitution pairs to parameterise this, however there is no ability to currently set these, not even in the defaults-file.
Source: https://github.com/cypress-io/cypress
Attribution: https://github.com/cypress-io/cypress/graphs/contributors
Cypress provided without modifications