Prisma Data Modeling은 schema.prisma 파일에서 데이터베이스 구조를 코드로 정의하는 것.
👉 즉, 테이블(모델), 필드(컬럼), 관계 등을 코드로 설계하는 단계이다.
🔍 구성 요소
model User {
id Int @id @default(autoincrement())
name String
email String @unique
}
| Prisma 타입 | DB 타입 예시 |
|---|---|
String | VARCHAR, TEXT |
Int | INTEGER |
Boolean | BOOLEAN |
DateTime | DATETIME, TIMESTAMP |
Float | FLOAT, DOUBLE |
Bytes | BLOB |
phone String? // NULL 허용
User ↔ Post: 1:N 관계
@relation으로 관계 명시
model User {
id Int @id @default(autoincrement())
posts Post[] // 1:N 관계 (User는 여러 개의 Post를 가짐)
}
model Post {
id Int @id @default(autoincrement())
user User @relation(fields: [userId], references: [id])
userId Int
}
제한된 값만 가질 수 있는 필드 타입 정의
enum Role {
USER
ADMIN
}
model User {
id Int @id @default(autoincrement())
role Role @default(USER)
}