Does this data proxy support `include`?
denniske opened this issue · comments
Does this data proxy support include
?
I tried this query:
const leaderboardRows = await prisma.leaderboard_row.findMany({
include: {
profile: true,
},
where: {
leaderboard_id: leaderboardId,
},
skip: start - 1,
take: count,
orderBy: {
['rank']: 'asc',
},
});
and got:
Invalid `prisma.leaderboard_row.findMany()` invocation:
Cannot return null for non-nullable field leaderboard_row.profile.
Data proxy logs:
prisma:query SELECT 1
prisma:query SELECT "public"."leaderboard_row"."leaderboard_id", "public"."leaderboard_row"."profile_id", "public"."leaderboard_row"."name", "public"."leaderboard_row"."rank", "public"."leaderboard_row"."rating", "public"."leaderboard_row"."last_match_time", "public"."leaderboard_row"."drops", "public"."leaderboard_row"."losses", "public"."leaderboard_row"."streak", "public"."leaderboard_row"."wins", "public"."leaderboard_row"."updated_at", "public"."leaderboard_row"."rank_country" FROM "public"."leaderboard_row" WHERE "public"."leaderboard_row"."leaderboard_id" = $1 ORDER BY "public"."leaderboard_row"."rank" ASC LIMIT $2 OFFSET $3
When I removed the include
the query succeeded:
const leaderboardRows = await prisma.leaderboard_row.findMany({
// include: {
// profile: true,
// },
where: {
leaderboard_id: leaderboardId,
},
skip: start - 1,
take: count,
orderBy: {
['rank']: 'asc',
},
});
Ok I think it supports include
but not for composite primary keys. If I remove the composite key from my model it works:
model leaderboard_row {
leaderboard_id Int @id
profile_id Int
name String
rank Int?
rating Int?
last_match_time DateTime?
drops Int?
losses Int?
streak Int?
wins Int?
updated_at DateTime @updatedAt
rank_country Int?
profile profile @relation(fields: [profile_id], references: [profile_id])
// @@id([leaderboard_id, profile_id])
@@index([rating], map: "IDX_935515e6126c1a045608ca78b9")
}
model profile {
profile_id Int @id
steam_id String?
name String?
clan String?
last_match_time DateTime?
country String?
avatarhash String?
last_match_fetched_time DateTime?
last_refresh DateTime?
leaderboard_row leaderboard_row[]
}
I have create a PR to fix this issue and also enable prisma raw queries here: #20