36 lines
844 B
TypeScript
36 lines
844 B
TypeScript
|
import { PrismaClient } from "@prisma/client";
|
||
|
import { faker } from "@faker-js/faker";
|
||
|
|
||
|
const prisma = new PrismaClient();
|
||
|
|
||
|
async function main() {
|
||
|
const numberOfArticles = 100; // Specify the number of articles to generate
|
||
|
const articles = [];
|
||
|
|
||
|
for (let i = 0; i < numberOfArticles; i++) {
|
||
|
const title = faker.lorem.sentence();
|
||
|
const slug = faker.helpers.slugify(title).toLowerCase();
|
||
|
const url = faker.internet.url();
|
||
|
const siteKey = faker.string.alphanumeric(10);
|
||
|
|
||
|
articles.push({ title, slug, url, siteKey });
|
||
|
}
|
||
|
|
||
|
for (const article of articles) {
|
||
|
await prisma.article.create({
|
||
|
data: article,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
console.log(`${articles.length} articles created.`);
|
||
|
}
|
||
|
|
||
|
main()
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
process.exit(1);
|
||
|
})
|
||
|
.finally(async () => {
|
||
|
await prisma.$disconnect();
|
||
|
});
|