How to overcome VC items being checked out during upgrade

  • KM03640433
  • 18-May-2020
  • 15-Jul-2020

Summary

How to overcome VC items being checked out during upgrade Or if VC Filtering doesn't exist in a VC project after upgrade

Question

How to overcome VC items being checked out during upgrade
Or if VC Filtering doesn't exist in a VC project after upgrade

Answer

How to overcome VC items being checked out during upgrade
Or if VC Filtering doesn't exist in a VC project after upgrade


Solution

1)    Remove the project using the Site Administration
2)    Alter the project's dbid.xml file…
From: <PR_HAS_VCSDB>Y</PR_HAS_VCSDB>
To: <PR_HAS_VCSDB>N</PR_HAS_VCSDB>
3)    Restore the project
4)  Verify, Repair, and Upgrade the project
5)    Enable Version Control on the project by selecting the project and hitting the button in the Site Admin gui
6) Problem now is all the entity versions will be set to zero where only the oldest entity will be opened. Update the history count for entities by issuing the following query to the db/schema...

Oracle

update <schema_id>.REQ set RQ_VC_VERSION_NUMBER=(select count(RQ_VC_VERSION_NUMBER) from <schema_id>.HIST_REQ where <schema_id>.REQ.RQ_REQ_ID=<schema_id>.HIST_REQ.RQ_REQ_ID);
update <schema_id>.BPM_MODELS set BPMM_VC_VERSION_NUMBER=(select count(BPMM_VC_VERSION_NUMBER) from <schema_id>.HIST_BPM_MODELS where <schema_id>.BPM_MODELS.BPMM_ID=<schema_id>.HIST_BPM_MODELS.BPMM_ID);
update <schema_id>.COMPONENT set CO_VC_VERSION_NUMBER=(select count(CO_VC_VERSION_NUMBER) from <schema_id>.HIST_COMPONENT where <schema_id>.COMPONENT.CO_ID=<schema_id>.HIST_COMPONENT.CO_ID);
update <schema_id>.RESOURCES set RSC_VC_VERSION_NUMBER=(select count(rsc_vc_version_number) from <schema_id>.HIST_RESOURCES where <schema_id>.RESOURCES.RSC_ID=<schema_id>.HIST_RESOURCES.RSC_ID);
update <schema_id>.TEST set TS_VC_VERSION_NUMBER=(select count(TS_TEST_ID) from <schema_id>.HIST_TEST where <schema_id>.TEST.TS_TEST_ID=<schema_id>.HIST_TEST.TS_TEST_ID);

MSSQL (SQL Auth)

update td.REQ set RQ_VC_VERSION_NUMBER=(select count(RQ_VC_VERSION_NUMBER) from td.HIST_REQ where td.REQ.RQ_REQ_ID=td.HIST_REQ.RQ_REQ_ID);
update td.BPM_MODELS set BPMM_VC_VERSION_NUMBER=(select count(BPMM_VC_VERSION_NUMBER) from td.HIST_BPM_MODELS where td.BPM_MODELS.BPMM_ID=td.HIST_BPM_MODELS.BPMM_ID);
update td.COMPONENT set CO_VC_VERSION_NUMBER=(select count(CO_VC_VERSION_NUMBER) from td.HIST_COMPONENT where td.COMPONENT.CO_ID=td.HIST_COMPONENT.CO_ID);
update td.RESOURCES set RSC_VC_VERSION_NUMBER=(select count(rsc_vc_version_number) from td.HIST_RESOURCES where td.RESOURCES.RSC_ID=td.HIST_RESOURCES.RSC_ID);
update td.TEST set TS_VC_VERSION_NUMBER=(select count(TS_TEST_ID) from td.HIST_TEST where td.TEST.TS_TEST_ID=td.HIST_TEST.TS_TEST_ID);

MSSQL (Win Auth)

update REQ set RQ_VC_VERSION_NUMBER=(select count(RQ_VC_VERSION_NUMBER) from HIST_REQ where REQ.RQ_REQ_ID=HIST_REQ.RQ_REQ_ID);
update BPM_MODELS set BPMM_VC_VERSION_NUMBER=(select count(BPMM_VC_VERSION_NUMBER) from HIST_BPM_MODELS where BPM_MODELS.BPMM_ID=HIST_BPM_MODELS.BPMM_ID);
update COMPONENT set CO_VC_VERSION_NUMBER=(select count(CO_VC_VERSION_NUMBER) from HIST_COMPONENT where COMPONENT.CO_ID=HIST_COMPONENT.CO_ID);
update RESOURCES set RSC_VC_VERSION_NUMBER=(select count(rsc_vc_version_number) from HIST_RESOURCES where RESOURCES.RSC_ID=HIST_RESOURCES.RSC_ID);
update TEST set TS_VC_VERSION_NUMBER=(select count(TS_TEST_ID) from HIST_TEST where TEST.TS_TEST_ID=HIST_TEST.TS_TEST_ID);


The version control will work properly and VC history will remain intact and the version count for each entity will be accurate