Header Ads

Header ADS

Prisma : (schema.prisma) file




🔧 generator client ব্লক:

generator client {
  provider = "prisma-client-js"
  output   = "../generated/prisma"
}

👉 এই অংশটি Prisma Client জেনারেট করার নির্দেশনা দেয়

generator client { ... }

  1. এটা Prisma কে বলে, “আমি একটি ক্লায়েন্ট জেনারেট করতে চাই”।

provider = "prisma-client-js"

  1. এটা বলে, “আমি JavaScript/TypeScript এর জন্য Prisma Client চাই”।

  2. prisma-client-js হলো Prisma’র অফিসিয়াল JS/TS লাইব্রেরি।

output = "../generated/prisma"

  1. এই লাইনে বলে দেয়, "Prisma Client কোন ফোল্ডারে জেনারেট হবে।"

  2. এখানে ../generated/prisma মানে হলো:
    — যেখানে schema.prisma ফাইল আছে, সেখান থেকে এক ধাপ উপরে গিয়ে generated/prisma ফোল্ডারে client ফাইল তৈরি হবে।

  3. ডিফল্টভাবে এটা হয় node_modules/@prisma/client, কিন্তু চাইলে override করা যায়।

📝 এই client ব্যবহার করেই তুমি কোডে ডেটাবেসে query চালাবে।


🗄️ datasource db ব্লক:

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

👉 এই অংশটি Prisma কে বলে, "আমি কোন ডেটাবেস ব্যবহার করছি এবং কোথায় সেটি অবস্থিত।"

datasource db { ... }

  1. এটি ডেটাবেস সংক্রান্ত সেটিংস রাখার জন্য।

  2. db হলো এই ডেটাবেস কানেকশনের নাম (তুমি চাইলে অন্য নামও দিতে পারো)।

provider = "mysql"

  1. এটি বলে দেয়, “আমি MySQL ডেটাবেস ব্যবহার করছি”।

  2. চাইলে এখানে "postgresql" বা "sqlite" ইত্যাদিও ব্যবহার করা যায়।

url = env("DATABASE_URL")

  1. এটি বলে, ডেটাবেসের সংযোগ (connection string) .env ফাইল থেকে পড়া হবে।

  2. DATABASE_URL হলো .env ফাইলের একটি ভ্যারিয়েবল:

    উদাহরণস্বরূপ, .env ফাইলে এমন কিছু থাকবে:

    DATABASE_URL="mysql://user:password@localhost:3306/mydb"
    

✅ সংক্ষেপে ব্যাখ্যা:

লাইন কাজ
generator client {} Prisma Client জেনারেট করার কনফিগারেশন
provider = "prisma-client-js" JS/TS এর জন্য client তৈরি
output = "../generated/prisma" জেনারেটেড client কোথায় যাবে
datasource db {} ডেটাবেসের তথ্য কনফিগারেশন
provider = "mysql" MySQL ডেটাবেস ব্যবহার করা হচ্ছে
url = env("DATABASE_URL") .env ফাইল থেকে ডেটাবেস URL নেওয়া হচ্ছে

Powered by Blogger.