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