首页 > 解决方案 > 当 Prisma 中的字段更新时,将字段增加到唯一整数

问题描述

在我的 Prisma 模式中,我有一个如下所示的模型:

model Document {
  id                      String   @id @default(uuid())
  createdAt               DateTime @default(now())
  updatedAt               DateTime @updatedAt
  draft                   Boolean  @default(true)
  publishedDocumentNumber Int?     @unique()
  text                    String?
}

创建每个文档时,它都处于draft模式,其值设置为 true。publishedDocumentNumber在正式出版之前它没有。当我发布文档时,我会像这样更新草稿值:

prisma.draft.update({
  where: {
    id: req.body.id,
  },
  data: {
    draft: false,
  }
});

由于此文档不再是草稿,我想安全地将publishedDocumentNumber值自动递增到先前发布documentpublishedDocumentNumber值 + 1。我不想这样做,prisma.document.count因为如果同时发布两个文档,我可能会意外地发生冲突(比赛条件),他们必须是独一无二的。

有没有更好的方法来安全地做到这一点?

标签: prisma

解决方案


推荐阅读