0
prisma v1.28.3,
nodeJs: v10.15.3

假设我们有以下棱镜定义

type ScheduledCharge {
 processedAt: DateTime!
 transactions: [Transaction!]!
}

type Transaction {
 id: ID! @unique
 amount: number
}

现在,鉴于我们有一个集合ScheduledCharge,有没有办法可以ScheduledCharge通过嵌套对象创建批量更新,理想情况下是这样的

prisma.updateManyScheduledCharges({
  where: {
    id_in: [1, 2, 3]
  },
  data: {
    transactions: {
      create: [{
        amount,
      }]
    }
  },
})

但是上面提到的不是由 prisma 客户端生成的,但是我可以循环通过预定的收费并执行以下操作

for (const { id: scheduledChargeId } of scheduledCharges) {
  prisma.updateScheduledCharge({
    where: {
      id: scheduledChargeId
    },
    data: {
      transactions: {
        connect: [{
          id: transactionId,
        }]
      }
    },
  })
}

如果我执行上述操作,是否有人知道我是否可以将 MySQL 事务与 prisma 客户端一起使用并在任何更新失败时进行回滚?

4

1 回答 1

0

Prisma 客户端确实生成了id_in过滤器: Prisma Id_in 演示

话虽如此,我们 prisma 有一个新规范,它将实现更好的批处理和事务功能。见:https ://github.com/prisma/rfcs/blob/new-ts-client-rfc/text/0000-new-ts-client.md

于 2019-04-08T14:49:46.597 回答