Easy Node.js Mysql database table seeder
First, install npm dependencies:
npm i mysql2 @faker-js/faker dotenv
Run the script with the command
node ./index.js
Don’t forget to add the mysql db credentials to your .env file and of course edit the getSeedQuery
function if you want to use it for your own table.
const mysql = require("mysql2");
const { faker } = require("@faker-js/faker");
require("dotenv").config();
function getSeedQuery(amount = 10000) {
return Array.from({ length: amount })
.map(() => {
const date = faker.date.past(5);
const time = new Date();
const currency = faker.finance.currencyCode();
const rate = faker.finance.amount(1.0, 9.99).toString();
const sql = `INSERT INTO ExchangeRates (date, time, currency, rate) VALUES ('${date.toISOString()}', '${time.toTimeString()}', '${currency}', '${rate}')`;
return sql;
})
.join(";\n");
}
const connection = mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
multipleStatements: true,
});
connection.connect();
const seedQuery = getSeedQuery(10000);
connection.query(seedQuery, (err, results) => {
if (err) {
console.log(err);
}
console.log("Seeding complete");
connection.end();
});
Source https://gist.github.com/drikusroor/5e7e3c7ef859702798ab390cbfef1fe4