Prisma 如何在创建或更新子元素时自动更新父元素的 "updatedAt" 字段?
Prisma How to automatically update "updatedAt" field of parent element when a child element is created or updated?
假设我有这个架构:
model User {
id String @id @default(cuid())
name String
email String
profile Profile?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Profile {
id Int @id @default(autoicrement())
bio String?
avatar String?
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId String @unique
}
现在我要存档的是,如果更新了用户的个人资料,例如更新了 bio
字段,我希望 User
模型上的 updatedAt
字段自动反映并更新到当前时间戳。
任何指导、提示或建议将不胜感激!!
我认为最简单的方法是制作一些包装函数,例如:
const updateUserProfile = (id, data) => {
return prisma.profile.update({
where: {
id
},
data: {
...data,
user: {
update: {
updatedAt: new Date()
}
}
}
})
}
假设我有这个架构:
model User {
id String @id @default(cuid())
name String
email String
profile Profile?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Profile {
id Int @id @default(autoicrement())
bio String?
avatar String?
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId String @unique
}
现在我要存档的是,如果更新了用户的个人资料,例如更新了 bio
字段,我希望 User
模型上的 updatedAt
字段自动反映并更新到当前时间戳。
任何指导、提示或建议将不胜感激!!
我认为最简单的方法是制作一些包装函数,例如:
const updateUserProfile = (id, data) => {
return prisma.profile.update({
where: {
id
},
data: {
...data,
user: {
update: {
updatedAt: new Date()
}
}
}
})
}