add user and domain seeds
This commit is contained in:
parent
d1c28ff302
commit
098e2e385f
@ -10,6 +10,8 @@
|
|||||||
"start": "npm run migrate && cross-env NODE_ENV=production node server/server.js",
|
"start": "npm run migrate && cross-env NODE_ENV=production node server/server.js",
|
||||||
"migrate": "knex migrate:latest",
|
"migrate": "knex migrate:latest",
|
||||||
"migrate:make": "knex migrate:make",
|
"migrate:make": "knex migrate:make",
|
||||||
|
"seed:run": "knex seed:run",
|
||||||
|
"seed:make": "knex seed:make",
|
||||||
"docs:build": "cd docs/api && node generate && cd ../.."
|
"docs:build": "cd docs/api && node generate && cd ../.."
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
33
seeds/dummy_domains.js
Normal file
33
seeds/dummy_domains.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
const nanoid = require("nanoid");
|
||||||
|
const { v4: uuid } = require("uuid");
|
||||||
|
|
||||||
|
function createDomain() {
|
||||||
|
return {
|
||||||
|
address: nanoid(Math.floor(Math.random() * 10) + 10) + ".com",
|
||||||
|
homepage: Math.random() > 0.7 ? nanoid(Math.floor(Math.random() * 10) + 3) + ".com" : null,
|
||||||
|
banned: Math.random() < 0.05,
|
||||||
|
user_id: Math.random() > 0.2 ? Math.floor(Math.random() * 1_000_000) : null,
|
||||||
|
uuid: uuid(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param { import("knex").Knex } knex
|
||||||
|
* @returns { Promise<void> }
|
||||||
|
*/
|
||||||
|
async function seed(knex) {
|
||||||
|
// creating domains
|
||||||
|
let domains = [];
|
||||||
|
for (let i = 0; i < 1_000_000; ++i) {
|
||||||
|
domains.push(createDomain());
|
||||||
|
|
||||||
|
if (i % 1000 === 0) {
|
||||||
|
await knex.batchInsert("domains", domains, domains.length);
|
||||||
|
domains = [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
seed,
|
||||||
|
}
|
31
seeds/dummy_users.js
Normal file
31
seeds/dummy_users.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
const nanoid = require("nanoid");
|
||||||
|
|
||||||
|
function createUser() {
|
||||||
|
return {
|
||||||
|
email: nanoid(Math.floor(Math.random() * 10) + 10) + "@email.com",
|
||||||
|
password: nanoid(60),
|
||||||
|
verified: Math.random() > 0.1,
|
||||||
|
banned: Math.random() < 0.05,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param { import("knex").Knex } knex
|
||||||
|
* @returns { Promise<void> }
|
||||||
|
*/
|
||||||
|
async function seed(knex) {
|
||||||
|
// creating users
|
||||||
|
let users = [];
|
||||||
|
for (let i = 0; i < 1_000_000; ++i) {
|
||||||
|
users.push(createUser());
|
||||||
|
|
||||||
|
if (i % 1000 === 0) {
|
||||||
|
await knex.batchInsert("users", users, users.length);
|
||||||
|
users = [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
seed,
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user