Nexus Prisma - 如何在全球范围内使用 crud 处理 createdAt 和 updatedAt?
Nexus Prisma - How to handle createdAt and updatedAt with crud globally?
我想到的第一件事是在 nexusPrisma
选项中调用 computedInputs
。但它不会起作用,因为它们需要根据情况进行不同的处理,但在全球范围内:
1. create -> createdAt = now, updatedAt = null
2. update -> createdAt = keep as it is, updatedAt = now
为了让它工作,我需要像这样单独设置 computedInputs:
t.crud.createOneX({
computedInputs: {
createdAt: () => DateTime.utc().toString(),
updatedAt: () => null,
},
});
t.crud.updateOneX({
computedInputs: {
createdAt: () => undefined,
updatedAt: () => DateTime.utc().toString(),
},
});
虽然这可能有效,但我无法在嵌套模型上“计算”这些输入。为了防止传递 createdAt/updatedAt,我还必须在该资源上创建另一个没有这些时间戳的 t.crud
。
最后一个可能有效的解决方法是根本不使用 t.crud
,这太可惜了。
感谢您的提问。
Prisma 可以为您处理模型中的 createdAt
和 updatedAt
列。将 @default(now())
和 @updatedAt
属性分别添加到 createdAt
和 updatedAt
列。您可以像这样将列添加到您的模型中:
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean? @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
您可以在我们的文档中了解有关 @default(now())
and @updatedAt
的更多信息。
如果您 运行 遇到任何其他问题和疑问,我很乐意提供帮助
我想到的第一件事是在 nexusPrisma
选项中调用 computedInputs
。但它不会起作用,因为它们需要根据情况进行不同的处理,但在全球范围内:
1. create -> createdAt = now, updatedAt = null
2. update -> createdAt = keep as it is, updatedAt = now
为了让它工作,我需要像这样单独设置 computedInputs:
t.crud.createOneX({
computedInputs: {
createdAt: () => DateTime.utc().toString(),
updatedAt: () => null,
},
});
t.crud.updateOneX({
computedInputs: {
createdAt: () => undefined,
updatedAt: () => DateTime.utc().toString(),
},
});
虽然这可能有效,但我无法在嵌套模型上“计算”这些输入。为了防止传递 createdAt/updatedAt,我还必须在该资源上创建另一个没有这些时间戳的 t.crud
。
最后一个可能有效的解决方法是根本不使用 t.crud
,这太可惜了。
感谢您的提问。
Prisma 可以为您处理模型中的 createdAt
和 updatedAt
列。将 @default(now())
和 @updatedAt
属性分别添加到 createdAt
和 updatedAt
列。您可以像这样将列添加到您的模型中:
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean? @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
您可以在我们的文档中了解有关 @default(now())
and @updatedAt
的更多信息。
如果您 运行 遇到任何其他问题和疑问,我很乐意提供帮助