With the new GDPR legislation taking effect in a matter on months, it dawns on me... how can we delete people permanently from the logging tables? My understanding is that the table types are a special archive type that don't allow for deletion of individual rows.

Is that right?

Just to be sure I understand you properly: this is about the right to erasure (a contact ask your organisation to remove any data about them), right?

It's my understanding that indeed you should remove the data both from the live and the log table (as the later isn't a temporary backup but long term archive).

I recall a discussion about changing the format of the archive tables (so the engine isn't ARCHIVE anymore). The impact on the size wasn't that bad for what I remember, so it might be an option.

ALTER TABLE my_table ENGINE = InnoDB

And the only one I can think of to be able to be compliant.

I'd suggest you to check on a backup first, there is a ROW_FORMAT=COMPRESSED option, but it seems you need to tune your install a bit to benefit from it on a per table basis... and it might not be needed, based on the size of your installation.

We wrote an extension a while back that anonymises contacts including entries in log tables. So you could anonymise the contact first and then delete them.

As Xavier has mentioned, you will have to make sure the log_ tables will be created with the right engine (InnoDB). If you already have log tables, you can either drop them, or convert them yourself. Afaik this only is necessary when you use extended logging.

Find more information on the extension here - we have not tested it 4.7 yet.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.