feat(prisma): add TestcaseResult model and relations to Submission and Testcase

This commit is contained in:
cfngc4594 2025-04-11 15:53:56 +08:00
parent d64f95b4e7
commit 1c0612372b

View File

@ -141,26 +141,47 @@ model Submission {
user User @relation(fields: [userId], references: [id], onDelete: Cascade) user User @relation(fields: [userId], references: [id], onDelete: Cascade)
problem Problem @relation(fields: [problemId], references: [id], onDelete: Cascade) problem Problem @relation(fields: [problemId], references: [id], onDelete: Cascade)
TestcaseResult TestcaseResult[]
createdAt DateTime @default(now()) createdAt DateTime @default(now())
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
} }
model Testcase { model Testcase {
id String @id @default(cuid()) id String @id @default(cuid())
problemId String problemId String
problem Problem @relation(fields: [problemId], references: [id], onDelete: Cascade) problem Problem @relation(fields: [problemId], references: [id], onDelete: Cascade)
data TestcaseData[] data TestcaseData[]
expectedOutput String expectedOutput String
TestcaseResult TestcaseResult[]
} }
model TestcaseData { model TestcaseData {
id String @id @default(cuid()) id String @id @default(cuid())
index Int
label String label String
value String value String
testcaseId String testcaseId String
testcase Testcase @relation(fields: [testcaseId], references: [id], onDelete: Cascade) testcase Testcase @relation(fields: [testcaseId], references: [id], onDelete: Cascade)
} }
model TestcaseResult {
id String @id @default(cuid())
isCorrect Boolean
output String
executionTime Int?
memoryUsage Int?
submissionId String
testcaseId String
submission Submission @relation(fields: [submissionId], references: [id], onDelete: Cascade)
testcase Testcase @relation(fields: [testcaseId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Account { model Account {
userId String userId String
type String type String