给出以下架构。如何使用 prisma2 客户端查询每个存储库上的最新提交?
model Commit {
id String @default(uuid()) @id
date DateTime @default(now())
}
model Branch {
id String @default(uuid()) @id
commit Commit @relation(fields: [commitId],references: [id])
commitId String
repository Repository @relation(fields: [repositoryId],references: [id])
repositoryId String
}
model Repository {
id String @default(uuid()) @id
}
Run Code Online (Sandbox Code Playgroud)
Rya*_*yan 19
我认为你的架构应该看起来更像这样:
model Commit {
id String @default(uuid()) @id
branch Branch @relation(fields: [branchId], references: [id])
createdAt DateTime @default(now())
branchId String
}
model Branch {
id String @default(uuid()) @id
name String
repository Repository @relation(fields: [repositoryId], references: [id])
commits Commit[]
repositoryId String
}
model Repository {
id String @default(uuid()) @id
branch Branch[]
}
Run Code Online (Sandbox Code Playgroud)
您将能够通过以下方式从存储库中的所有分支获取最新提交:
await prisma.repository.findMany({
select: {
branch: {
select: {
name: true,
commits: {
orderBy: {
createdAt: 'desc',
},
take: 1,
},
},
},
},
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18248 次 |
最近记录: |