Stripping non-essential customer data from non-production database

Happy Holidays, Tessitura community!

 

I wonder if there are any of you who have written anything that strips customer data (perhaps except for a specified list of customer data) when restoring to a non-production or development environment in order to save space and eliminate the risk of secure data being on a laptop or other environment that might leave your premises.  We’re still on version 11 & are looking at being able to quickly automate a new development environment and it would be faster and easier to install a smaller segment of customer data with all of the Ticketing setup and campaign setup left intact in order to develop against up-to-date setup.

 

Thank you in advance to anyone who might have built something that would help me accelerate our progress toward quickly replicating our live environment with most customer information stripped out. 

 

Sincerely,

Monica

 

Monica Martin

Database Administrator

Oregon Shakespeare Festival

541-482-2111 ext. 221

www.osfashland.org

 

Parents Reply Children
  • Former Member
    Former Member $organization in reply to Gawain Lavers

    Hi tess-mavens

    I (we, I suppose) actually have a kind of a related issue. Possibly.

    One of our consortium partners has bailed out, and moved to a private (RAMP) environment. They've managed to extract  their data  without a hitch, and are now happily just playing with themselves.

    But all of their data, including transactions, is still sitting in our system. There is a position, quite strongly held by persons of influence, that in order to be compliant with privacy rules, we are obliged to either remove, or "anonymise", that data.  On the grounds that those humans have not given consent for their private data to be held by orgs other than the one with which they have transacted. If they have also transacted with other consortium members apparently that does not apply. This does not appear to score many points for logic, but I gather that's not a relevant factor when dealing with the legals. 

    (Personally, I think that nothing has actually changed. We could always potentially see or use that personal data, but were always constrained from using, or seeing it,  by both contractual agreement and control-grouping, and that would continue to be true.)

    ...However....

    There have been several suggestions made as to how that data could be "anonymised", each of which makes my dba-steeped flesh creep more than the last. (in the interests of data integrity, and of not having a database full of junk records.)

    My position is that if we actually have to do this silly thing to keep the lawyers happy, then it would make much more sense to simply delete all of the offending transaction records, and any other constituent data control-grouped to that org, and be rid of the problem cleanly. But every time I say something like that, my consortium-managing colleagues start running around in circles, flapping their arms and crying " Beware! Beware! His flashing eyes. his floating hair! Weave a circle round him thrice, And close your eyes with holy dread, For he on honey-dew hath fed, And drunk the milk of Paradise.."...(at least I think it was something like that.)

    I understand that they are slightly terrified of breaking the database, and the terrible consequences thereof, including the alleged possibility of TessNet abjuring our allegiance and no longer providing support.

    But it seems to me that it should be possible to safely remove even transaction records (carefully and slowly, and with lots of Testing), without breaking things. Yes?

    The structure of the data is not actually a mystery. It should be possible to start at the bottom of a hierarchical tree, effectively, and remove records sequentially from there up to the top, without violating referential integrity. And of course a lot of the other stuff (eg attributes and constituencies) is quite flat, and could be deleted easily and safely from the TX_* tables.

    So...if someone has a script which has been used in Monica's context, to remove selected constituent/transaction details for test/dev purposes, that should be something like what we need as well. Or at least a starting point.

    So I'd be interested in Gawain's and Jon's scripts, too, if poss. Or if anyone else has something similar ready to hand?

      TIA 

     Ken

     (ps: Sorry for hijacking your thread, Monica)