Open
Description
Describe the problem and solution
현재 Problem 모델:
model Problem {
id Int @id @default(autoincrement())
createdBy User? @relation(fields: [createdById], references: [id], onDelete: SetNull)
createdById Int? @map("created_by_id")
group Group @relation(fields: [groupId], references: [id])
groupId Int @map("group_id")
title String
description String
inputDescription String @map("input_description")
outputDescription String @map("output_description")
hint String
// 문제 정보의 영어 버전 제공은 선택사항임
engTitle String? @map("eng_title")
engDescription String? @map("eng_description")
engInputDescription String? @map("eng_input_description")
engOutputDescription String? @map("eng_output_description")
engHint String? @map("eng_hint")
/// template code item structure
/// {
/// "lanaguage": Language,
/// "code": {
/// "id": number,
/// "text": string,
/// "locked": boolean
/// }[]
/// }
isVisible Boolean @default(true) @map("is_visible")
template Json[]
languages Language[]
timeLimit Int @map("time_limit") // unit: MilliSeconds
memoryLimit Int @map("memory_limit") // unit: MegaBytes
difficulty Level
source String
submissionCount Int @default(0) @map("submission_count")
acceptedCount Int @default(0) @map("accepted_count")
acceptedRate Float @default(0) @map("accepted_rate")
exposeTime DateTime @default(now()) @map("expose_time")
createTime DateTime @default(now()) @map("create_time")
updateTime DateTime @updatedAt @map("update_time")
inputExamples String[] @map("input_examples")
outputExamples String[] @map("output_examples")
problemTestcase ProblemTestcase[]
problemTag ProblemTag[]
contestProblem ContestProblem[]
workbookProblem WorkbookProblem[]
submission Submission[]
announcement Announcement[]
codeDraft CodeDraft[]
@@map("problem")
}
너무 많은 속성들이 있기 때문에, 문제에 대한 설명 및 안내가 담기는 속성을 분리해 ProblemInfo
테이블을 생성합니다..
title
, description
, inputDescription
, outputDescription
, hint
를 분리해 새로운 모델을 생성하고, 해당 모델에 problemLanguage
속성을 정의해 저장되는 문제 정보가 영어인지, 한국어인지 구분하도록 합니다. (따라서 engTitle, engDescription 등은 삭제)
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines
- Check that there isn't already an issue
Metadata
Assignees
Type
Projects
Status
Pending ✋