So I am trying to wrap my head around how an "incremental refresh" with patching in an RPD works and I cant quite seem to get it.
I went to my DEV environment and downloaded an offline copy of the RPD and named it
DEV_ORIG
I then made a copy of this and named it
DEV_WORK
So in total I have 2 files so far exactly the same.
I open DEV_WORK in my admin tool, begin development and complete what needs to be done. Keeping DEV_WORK open, I go and do a compare comparing
DEV_WORK to DEV_ORIG
My thinking is if I want to capture my exact development changes, I would just compare my modified RPD to the original RPD I downloaded.
I then create an XML patch file. I browse through the file and confirm that I see only my changes - So far so good.
Now I want to promote my changes from DEV_WORK into our QA environment. I download an offline copy of our QA RPD and name it
QA_ORIG
I re-open the RPD DEV_WORK and have it open. I go to Merge - Patch Repository Merge and select the following
Original Repository: QA_ORIG
Modified Repository: DEV_WORK
Patch: patch.xml
So what I thought would happen is the modified repository is my development repository, and the original master repository is basically my target enviroment, which is QA.
I would have thought OBIEE would have
- Use the patch file to determine what needs to be migrated
- The modified repository would have contained further details to supplement the patch file
- Taken everything it found based on the patch file and merge it into the QA RPD.
So in the end, the QA RPD would have everything it originally had PLUS the modifications.
What I am seeing though is that it seems ANY differences between the DEV_WORK and QA_ORIG file are all put into the final patched file REGARDLESS if it was listed in the patch file or not. Therefore creating, modifying AND deleting objects.
I wasnt expecting ANY deletes, since everything in the development RPD was net new development, NO deletes.
So for example, in our QA file I found there was an extra role TESTER, and in our DEV enviroment we dont have this role.
So the final patched QA file, it now has all the development RPD changes, and it also deleted the TESTER role.
Which quite confuses me, as in my patch file - There is zero mention of anything related to the TESTER role.
I would have thought OBIEE would have only made any changes as per what is contained in the patch file, but it isnt.
So I guess few questions
Am I missing something here? Did I not execute an incremental refresh properly?
Based on what I am seeing, I am quite confused as to what the patch file does at all?
The patch file had ONLY the changes I made. So during the patching process, why would the RPD include any other changes outside of what is in the patch file?
I hope this makes sense, I just whirled myself around a bit in my mind and am confused.