feat(prisma): seed static data from content/
This commit is contained in:
parent
ce8bb3e8f8
commit
51cd84e7ee
1 changed files with 53 additions and 0 deletions
53
prisma/seed.ts
Normal file
53
prisma/seed.ts
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
import { prisma } from "~/server/db";
|
||||||
|
import { getAllTrainingsWithMetadata } from "~/lib/content/training";
|
||||||
|
|
||||||
|
async function seed() {
|
||||||
|
const trainings = await getAllTrainingsWithMetadata();
|
||||||
|
let instertedTrainings = [];
|
||||||
|
|
||||||
|
for (const training of trainings) {
|
||||||
|
instertedTrainings.push(
|
||||||
|
await prisma.training.upsert({
|
||||||
|
where: { id: training.metadata.id },
|
||||||
|
update: {
|
||||||
|
id: training.metadata.id ,
|
||||||
|
name: training.metadata.name,
|
||||||
|
slug: training.metadata.slug,
|
||||||
|
description: training.metadata.description,
|
||||||
|
days: training.metadata.days,
|
||||||
|
weight: training.metadata.weight,
|
||||||
|
draft: training.metadata.draft,
|
||||||
|
logoURL: training.metadata.logoURL,
|
||||||
|
repositoryURL: training.metadata.repositoryURL,
|
||||||
|
priceOpen: training.metadata.priceOpen,
|
||||||
|
priceCorporate: training.metadata.priceCorporate,
|
||||||
|
content: training.content,
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
id: training.metadata.id ,
|
||||||
|
name: training.metadata.name,
|
||||||
|
slug: training.metadata.slug,
|
||||||
|
description: training.metadata.description,
|
||||||
|
days: training.metadata.days,
|
||||||
|
weight: training.metadata.weight,
|
||||||
|
draft: training.metadata.draft,
|
||||||
|
logoURL: training.metadata.logoURL,
|
||||||
|
repositoryURL: training.metadata.repositoryURL,
|
||||||
|
priceOpen: training.metadata.priceOpen,
|
||||||
|
priceCorporate: training.metadata.priceCorporate,
|
||||||
|
content: training.content,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
seed()
|
||||||
|
.then(async () => {
|
||||||
|
await prisma.$disconnect()
|
||||||
|
})
|
||||||
|
.catch(async (e) => {
|
||||||
|
console.error(e)
|
||||||
|
await prisma.$disconnect()
|
||||||
|
process.exit(1)
|
||||||
|
});
|
||||||
Reference in a new issue