Pour crĂ©er un environnement de dĂ©veloppement, on duplique celui de production. Sauf qu’il ne faut pas garder les infos personnelles des clients. DĂ©jĂ  c’est dangereux, si vous gĂ©rez mal votre affaire vous risquez d’envoyer des mails aux clients et ça force tous les dĂ©veloppeurs et intervenants Ă  faire attention au RGPD.

Donc on anonymise tout, c’est plus simple.

Voici un script MariaDB qui anonymise les données clients :

  • noms,
  • prĂ©noms,
  • adresses,
  • tĂ©lĂ©phones,
  • e-mails,
  • ip,
  • communications.
    Il remplace les lettres par xxx en respectant la casse, les n° de téléphone par 0 en respectant le format et passe les IP en 127.0.0.1.
UPDATE ps_address pa 
	SET pa.alias = REGEXP_REPLACE(REGEXP_REPLACE(pa.alias, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.lastname = REGEXP_REPLACE(REGEXP_REPLACE(pa.lastname, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.firstname = REGEXP_REPLACE(REGEXP_REPLACE(pa.firstname, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.address1 = REGEXP_REPLACE(REGEXP_REPLACE(pa.address1, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.address2 = REGEXP_REPLACE(REGEXP_REPLACE(pa.address2, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.city = REGEXP_REPLACE(REGEXP_REPLACE(pa.city, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.other = REGEXP_REPLACE(REGEXP_REPLACE(pa.other, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.company = REGEXP_REPLACE(REGEXP_REPLACE(pa.company, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.phone = REGEXP_REPLACE(pa.phone, '[0-9]', '0'), 
	pa.phone_mobile = REGEXP_REPLACE(pa.phone_mobile, '[0-9]', '0'), 
	pa.vat_number = REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(pa.vat_number, '[0-9]', '0'), '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	pa.dni = REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(pa.dni, '[0-9]', '0'), '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'); 
	
UPDATE ps_customer c 
SET c.lastname = REGEXP_REPLACE(REGEXP_REPLACE(c.lastname, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	c.firstname = REGEXP_REPLACE(REGEXP_REPLACE(c.firstname, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	c.email = CONCAT(c.id_customer, '@example.com');
 
UPDATE ps_customer c 
SET c.ip_registration_newsletter = '127.0.0.1'
WHERE c.ip_registration_newsletter IS NOT NULL 
	AND c.ip_registration_newsletter != '0'; 
 
UPDATE ps_customer_message cm 
SET cm.message = REGEXP_REPLACE(REGEXP_REPLACE(cm.message, '(?-i)[a-z]', 'x'), '(?-i)[A-Z]', 'X'), 
	cm.ip_address = '2130706433'; 
	
UPDATE ps_customer_thread ct 
SET ct.email = CONCAT(IF(ct.id_customer > 0, ct.id_customer, '0'), '@example.com');

La syntaxe de REGEXP_REPLACE n’est pas la mĂȘme pour MySQL et MariaBD, donc il faudra adapter.