Files
PawShip/prisma/schema.prisma
2026-04-03 18:25:54 +01:00

43 lines
1.0 KiB
Plaintext

generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "mysql"
}
model Pet {
id Int @id @default(autoincrement())
name String
species String
userId String
posts Post[] // One pet can have many posts
sentRequests Friendship[] @relation("sentRequests")
receivedRequests Friendship[] @relation("receivedRequests")
}
model Friendship {
id Int @id @default(autoincrement())
petId Int
friendId Int
pet Pet @relation("sentRequests", fields: [petId], references: [id])
friend Pet @relation("receivedRequests", fields: [friendId], references: [id])
accepted Boolean @default(false)
createdAt DateTime @default(now())
// 3. Safety: A pet can't friend the same pet twice
@@unique([petId, friendId])
}
model Post {
id Int @id @default(autoincrement())
content String
petId Int @map("pet_id")
pet Pet @relation(fields: [petId], references: [id])
}