Two new databases, two fresh new apex installations. Yeah! One for development, one for test. Let’s create a new Workspace X in every environments.
Everything is ready, let the development begin!
After a while the first iteration of the application was ready and we imported it in the the second environment and everything failed miserably.
The site exploded in an error page giving the dreaded ORA-01403 after the first statement in the install script WWV_FLOW_API.IMPORT_BEGIN.
But after running the script in SQLPlus with spooling enabled I got the following :
ORA-02291: Integriteitsbeperking (APEX_050000.WWV_FLOWS_FK) is geschonden – bovenliggende sleutel
is niet gevonden.
ORA-06512: in “APEX_050000.WWV_FLOW_API”, regel 2750
ORA-06512: in regel 2
That’s dutch for an integrity constraint violation, parent key not found
Digging into dba_constraints it gave me that the workspace was not found.
The provisioning_company_id of wwv_flow_companies for workspace X had a different value than development!
Note to myself: when deploying into a new environment, don’t create the workspaces by hand, but import it from a source installation.
Note to the APEX development team: it wouldn’t kill you when you stop the process with a simple message like ‘Workspace-id XXXXXX not found’ instead of “I didn’t find it” without giving the “it” some meaning.