Project and Portfolio Management Practitioners Forum
cancel

Comparing objects between database instances?

Highlighted
Jim Bowen
Trusted Contributor.

Comparing objects between database instances?

Hi,

Have any of you ever written scripts/procedures to compare PPM objects (workflows, request types, etc.) between instances, and report differences?

We have three PPM instances...development, test, and production. Periodically, we like to replace the development and test instances with copies of production. However, there's always a concern that some development work might have been done in dev/test, and we don't want to lose that work. So, we'd like to generate some sort of report that tells us what objects are different in dev/test from production.

I've started writing a procedure to do that for workflows, but thought I'd ask to see if anyone has already done the work. If so, I'd like to 'borrow' your scripts! If not, and others are interested, maybe we could collaborate.

Jim
3 REPLIES
Erik Cole
Acclaimed Contributor.

Re: Comparing objects between database instances?

Just a thought, but since your environments are clones the database output should have the same keys, etc. so you maybe could write a shell script that selects the config data from each environment and diffs the output to a file that you could look at....
Jim Bowen
Trusted Contributor.

Re: Comparing objects between database instances?

Thanks for responding Erik, but what configuration data are you thinking of here?

Yes, the objects in the databases should be very similar, so I should find few differences.

If it matters, we are on PPM 7.1 (planning to migrate to v8, hence the need to refresh the databases from production, and figure out the differences first.)

Jim
Erik Cole
Acclaimed Contributor.

Re: Comparing objects between database instances?

Anything, really. But mostly stuff that you would have to sync manually like user data configuration, org units, etc.

One other thought is that if you have specific items (request types, etc) you want to look at you can do a "preview import" both ways and view the logs to see which objects or components were preexisting or missing in the target environment.