stacker.news/prisma/seed.js

109 lines
2.1 KiB
JavaScript

const { PrismaClient } = require('@prisma/client')
const prisma = new PrismaClient()
async function main () {
const k00b = await prisma.user.upsert({
where: { name: 'k00b' },
update: {},
create: {
name: 'k00b',
messages: {
create: {
text: 'Hello world'
}
}
}
})
const satoshi = await prisma.user.upsert({
where: { name: 'satoshi' },
update: {},
create: {
name: 'satoshi',
messages: {
create: [
{
text: 'Peer to peer digital cash'
},
{
text: 'Reengineer the world'
}
]
}
}
})
const greg = await prisma.user.upsert({
where: { name: 'greg' },
update: {},
create: {
name: 'greg'
}
})
const stan = await prisma.user.upsert({
where: { name: 'stan' },
update: {},
create: {
name: 'stan'
}
})
await prisma.item.upsert({
where: { id: 0 },
update: {},
create: {
text: 'A',
userId: satoshi.id,
children: {
create: [
{
text: 'B',
userId: k00b.id,
children: {
create: [
{
text: 'G',
userId: satoshi.id,
children: {
create: [
{
text: 'H',
userId: greg.id
}
]
}
}
]
}
},
{
text: 'C',
userId: k00b.id,
children: {
create: [
{
text: 'D',
userId: satoshi.id
},
{
text: 'E',
userId: greg.id
},
{
text: 'F',
userId: stan.id
}
]
}
}
]
}
}
})
}
main()
.catch(e => {
console.error(e)
process.exit(1)
})
.finally(async () => {
await prisma.$disconnect()
})