Znote (recipes)
  Get Znote  

SQL Data Anonymization

How to anonymize SQL data with FakerJS

 

How to anonymize SQL data

Documentation here 👉 FakerJS

npm install --save-dev @faker-js/faker
const { fakerFR: faker } = require('@faker-js/faker');
function createRandomUser() {
  return {
    firstname: faker.person.firstName(),
    lastname: faker.person.lastName(),
    email: faker.internet.email(),
    phone1: faker.phone.number({ style: 'national' }).replaceAll(" ", ""),
    description: faker.lorem.sentence({ min: 1, max: 5 }),
  };
}

const query = "select id, email, firstname, lastname, phone1, description from customers";
const results = await getSQL(query, "127.0.0.1", 3306, "mysql", "username", "password", "databaseName");
//await printTable(results);

let i = 0;
for (const row of results) {
  const r = createRandomUser();
  //console.log(r.lastname, r.firstname, r.phone1, r.description, r.email)
  const updateQuery = `update customers set firstname='${r.firstname}', lastname='${r.lastname}', phone1='${r.phone1}', description='${r.description}', email='${r.email}' where id=${row.id}`;
  await getSQL(updateQuery, "127.0.0.1", 3306, "mysql", "username", "password", "databaseName");
  i++;
  if ((i) % 100 === 0) {
    print(`${i}/${results.length}`);
  }
}

Related recipes