PrismaPostgresIntermediate
Relations — একে-অনেক, অনেক-অনে
model-এর মধ্যে relation — relation field + foreign key।
5টি অংশবাংলা ভাষায়
1:N — User ও Postprisma
prisma
model User {
id Int @id @default(autoincrement())
email String @unique
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
author User @relation(fields: [authorId], references: [id])
authorId Int
}User.posts Post[] — virtual list; Post.author — relation field. একটি model-এ Int (FK) + relation, অন্যটিতে মাত্র Model[]।
N:M — implicitprisma
prisma
model Product {
id Int @id @default(autoincrement())
name String
tag Tag[]
}
model Tag {
id Int @id @default(autoincrement())
name String @unique
product Product[]
}- Implicit N:M — Prisma নিজেই bridge table (
_TagToProduct) বানায় - প্রয়োজন
@relation('name')একমাত্র যখন multiple relations একই jোড়া onDelete: Cascadeমাঝে-মাঝে দরকার
ampersand-মনে রাখুন
Prisma-র relation পড়তে হলে দুই দিকের field টাইপ মিললে তবেই OK — ভুল হলে prisma validate-এ ধরা পড়ে।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।