Prisma2:如何设计与数组类型模型相关的模式?

Prisma2: how to design schema which has relation with Array type Model?

我在设计架构时遇到了一些问题。

案例 1:

model User {
  package: @relation(fields: [authorId], references: [id])
  packageId: Int
}

model Package {
  user User[]
}

一个包可以被数百个用户订阅。所以,我认为这是要走的路。但是,问题是,当需要删除包时,也需要删除用户(admin)。我们不想要

案例 2:

model User {
  package Package[]
}

model package {
  author      User?  @relation(fields: [authorId], references: [id])
  authorId    Int?
}

通过这样设计,删除包时,并没有删除用户。 但我无法将多个用户连接到一个包。

我认为您必须从双方明确建立关系模型才能获得 many-to-many relationship。毕竟用户可以订阅很多包,而包可以有很多用户订阅。

model User {
  id Int @id @default(autoincrement())
  packages Package[] @relation(references: [id])
}

model Package {
  id Int @id @default(autoincrement())
  user User[] @relation(references: [id])
}