들어가기
동네생활의 질문을 올리고 질문의 답변을 하는 Page
1. 전체질문 list,
2. 질문 detailPage(awnser, wondering)
3. write Post로 구성됨.
4. nevigator.geo~~이용해서 현재 좌표(위도, 적도)로 반경 어디까지 나오게 설정가능하게
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[]
posts Post[]
answers Answer[]
wonderings Wondering[]
}
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
favs Fav[]
}
model Fav {
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)
userId Int
productId Int
}
model Post { ///Post는 User, Answer, Wondering과 relation 잘봐둘것.
///Post에 latitude, longitude 들어가게 함. (GPS)
///질문은 question @db.MediumText로!
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId Int
question String @db.MediumText
answers Answer[]
wondering Wondering[]
latitude Float?
longitude Float?
}
model Answer { ///Post와 User relation 잘봐둘것.
///answer는 @db.MeduimText로~
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId Int
answer String @db.MediumText
post Post @relation(fields: [postId], references: [id], onDelete: Cascade)
postId Int
}
model Wondering { ///User, Post와 relation 잘 봐둘것.
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId Int
post Post @relation(fields: [postId], references: [id], onDelete: Cascade)
postId Int
}
좋아요(Fav)나 궁금해요(Wondering)은 User와 Post 혹은 Product와
connect만 한다는 것을 잘 알아놓는다