import { PrismaClient } from "@prisma/client"
const prisma = new PrismaClient({ log: ["query"] })
async function main(params:type) {
await prisma.user.deleteMany()
const user = await prisma.user.create({
data: {
name: "Grayson",
email: "grayson@gmail.com",
age: 27,
userPreference: {
create: {
emailUpdates: true,
},
},
},
include: {
userPreference: true,
},
select: {
name: true,
userPreference: {
select: {
id: true,
},
},
}
})
const users = await prisma.user.createMany({
data: [{
name: "Grayson",
email: "grayson@gmail.com",
age: 27,
}, {
name: "Urban",
email: "urban@gmail.com",
age: 25,
}],
})
console.log(users)
const user = await prisma.user.findUnique({
where: {
email: "grayson@gmail.com",
age_name: {
age: 27,
name: "grayson",
}
},
})
const user = await prisma.user.findFirst({
where: {
name: "Grayson",
},
})
const users = await prisma.user.findMany({
where: {
name: {
equals: "Grayson",
not: "Sally",
in: ["Grayson","Sally"],
},
age: {
lt: 20,
gt: 25,
},
email: {
contains: "@gmail.com"
endsWith: "@hotmail.com"
startsWith: "grayson"
},
AND: [{ email: { startsWith: "grayson" } }, { name: "Joe" }],
userPreference: {
emailUpdates: true,
},
writtenPosts: {
every: {
title: { startsWith: "Test" },
}
}
},
orderBy: {
age: "asc",
}
distinct: ["name", "age"],
take: 2,
skip: 1,
})
console.log(users.length)
const posts = await.post.findMany({
where: {
author: {
is: {
age: 27,
},
},
},
})
const user = await prisma.user.update({
where: {
email: "grayson@gmail.com",
},
data: {
email: "grayson@hotmail.com",
age: {
increment: 1,
},
userPreference: {
create: {
emailUpdates: true,
},
connect: {
id: "21enlkj-n12j-12hu-7218-12pe1o2eke12",
},
},
},
})
const user = await.prisma.user.delete({
where: {
email: "grayson@gmail.com",
}
})
console.log(user)
}
main()
.catch(e => {
console.error(e.message)
})
.finally(async () => {
await prisma.$disconnect()
})