How to anonymize SQL data with FakerJS
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}`);
}
}