**
들어가기
Product
1. schema.prisma model
**
generator client {
provider = "prisma-client-js"
previewFeatures = ["referentialIntegrity"]
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
referentialIntegrity = "prisma"
}
model User {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
phone String? @unique
email String? @unique
name String
avatar String?
tokens Token[]
products Product[]
fav Fav[]
}
model Token {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
payload String @unique
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId Int
}
model Product {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId Int
image String
name String
price Int
description String @db.MediumText ///String하면, 글자수가 191인가 그런데.
///db.MediumText.하면 더 많은 글자를 입력가능
favs Fav[] ///관심목록 등록되는 product
}
model Fav { ///관심상품관련 model. product의 하트를 클릭하면, 관심상품으로 등록됨
///my profile에서 관심상품을 클릭하면 보여지는 product들
///user와 product 가 relation된 것을 중점적으로 본다.
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
product Product @relation(fields: [productId], references: [id], onDelete: Cascade)
///onDelete:Cascade는 User를 delete하면, 연결된 상품 및 관심상품도 지워짐.
userId Int
productId Int
}
항상 schema.prisma를 수정하면, pscale connect apple-market, npx prisma db push