Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • PrismaPostgres Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Prisma Intro
  • Prisma vs Raw SQL
  • Setup & Install
  • Schema Basics
  • Models
  • Relations
  • Migrations
  • Prisma Client
  • Create & Upsert
  • Read Queries
  • Update & Delete
  • Query Filters
  • Sort & Pagination
  • Select & Include
  • Nested Writes
  • Transactions
  • Aggregation
  • JSON Fields
  • Raw SQL
  • TechShop Schema
  • TechShop Seed
  • Relations Advanced
  • Env Config
  • Global Client
  • Next.js + Prisma
  • Express API
  • Error Handling
  • Performance
  • Connection Pool
  • Prisma Studio
  • Deploy Migrations
  • TechShop Indexes
  • TechShop Cart
  • TechShop Stats API
  • Schema Evolution
  • Debugging
  • Common Mistakes
  • Best Practices
  • Interview Questions
  • Recap & Next
  1. Docs
  2. PrismaPostgres
  3. TechShop — সম্পূর্ণ Prisma schema
PrismaPostgresIntermediate

TechShop — সম্পূর্ণ Prisma schema

নিজেদের প্রজেক্ট data-model — সব relation সহ।

3টি অংশবাংলা ভাষায়
prisma/schema.prismaprisma
prisma
enum Role {
  customer
  admin
}

model User {
  id        Int     @id @default(autoincrement())
  email     String  @unique
  name      String
  role      Role    @default(customer)
  orders    Order[]
  createdAt DateTime @default(now())
}

model Category {
  id       Int       @id @default(autoincrement())
  name     String    @unique
  products Product[]
}

model Product {
  id         Int       @id @default(autoincrement())
  name       String
  price      Decimal   @db.Decimal(10, 2)
  qty        Int       @default(0)
  spec       Json?
  active     Boolean   @default(true)
  category   Category? @relation(fields: [categoryId], references: [id], onDelete: SetNull)
  categoryId Int?
  items      OrderItem[]
}

model Order {
  id        Int         @id @default(autoincrement())
  total     Decimal     @default(0) @db.Decimal(10, 2)
  status    String      @default("pending")
  user      User        @relation(fields: [userId], references: [id])
  userId    Int
  items     OrderItem[]
  createdAt DateTime    @default(now())
}

model OrderItem {
  order     Order   @relation(fields: [orderId], references: [id], onDelete: Cascade)
  orderId   Int
  product   Product @relation(fields: [productId], references: [id])
  productId Int
  qty       Int
  price     Decimal @db.Decimal(10, 2)

  @@id([orderId, productId])
}
  • enum → PostgreSQL-এ enum type
  • @db.Decimal(10,2) — precision scale
  • onDelete: SetNull / Cascade — FK behavior
  • @@id([orderId, productId]) — composite key
migrate চালান

সংরক্ষিত schema → npx prisma migrate dev --name techshop_init — table তৈরি হয়ে যাবে।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগের$queryRaw / $executeRaw — Prisma-র নিয়ন্ত্রকপরেরSeed — ডিজাইন ডেটা দিয়ে begin
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com