Prisma : (schema.prisma) file
🔧 generator client ব্লক:
generator client {
provider = "prisma-client-js"
output = "../generated/prisma"
}
👉 এই অংশটি Prisma Client জেনারেট করার নির্দেশনা দেয়।
➤ generator client { ... }
- এটা Prisma কে বলে, “আমি একটি ক্লায়েন্ট জেনারেট করতে চাই”।
➤ provider = "prisma-client-js"
এটা বলে, “আমি JavaScript/TypeScript এর জন্য Prisma Client চাই”।
-
prisma-client-js
হলো Prisma’র অফিসিয়াল JS/TS লাইব্রেরি।
➤ output = "../generated/prisma"
এই লাইনে বলে দেয়, "Prisma Client কোন ফোল্ডারে জেনারেট হবে।"
-
এখানে
../generated/prisma
মানে হলো:
— যেখানেschema.prisma
ফাইল আছে, সেখান থেকে এক ধাপ উপরে গিয়েgenerated/prisma
ফোল্ডারে client ফাইল তৈরি হবে। -
ডিফল্টভাবে এটা হয়
node_modules/@prisma/client
, কিন্তু চাইলে override করা যায়।
📝 এই client ব্যবহার করেই তুমি কোডে ডেটাবেসে query চালাবে।
🗄️ datasource db ব্লক:
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
👉 এই অংশটি Prisma কে বলে, "আমি কোন ডেটাবেস ব্যবহার করছি এবং কোথায় সেটি অবস্থিত।"
➤ datasource db { ... }
এটি ডেটাবেস সংক্রান্ত সেটিংস রাখার জন্য।
-
db
হলো এই ডেটাবেস কানেকশনের নাম (তুমি চাইলে অন্য নামও দিতে পারো)।
➤ provider = "mysql"
এটি বলে দেয়, “আমি MySQL ডেটাবেস ব্যবহার করছি”।
-
চাইলে এখানে
"postgresql"
বা"sqlite"
ইত্যাদিও ব্যবহার করা যায়।
➤ url = env("DATABASE_URL")
এটি বলে, ডেটাবেসের সংযোগ (connection string)
.env
ফাইল থেকে পড়া হবে।-
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 নেওয়া হচ্ছে |