Prisma : 3 part of prisma
Prisma মূলত তিনটি প্রধান জিনিস প্রদান করে, যেগুলো modern backend development-এ খুবই দরকারি এবং সাহায্যকারী।
1️⃣ Prisma Migrate (📦 ডেটাবেস মাইগ্রেশন টুল)
👉 কী করে:
Prisma Migrate
তোমার Prisma Schema (schema.prisma
) ফাইল থেকে ডেটাবেসের টেবিল, রিলেশন, constraint ইত্যাদি তৈরি ও আপডেট করে।
🛠️ ব্যাবহার:
npx prisma migrate dev --name init
✅ সুবিধা:
Version-controlled মাইগ্রেশন
-
Rollback এবং history ট্র্যাকিং
-
Schema-driven approach (no manual SQL)
🎯 উদাহরণ:
তুমি যদি User মডেলে একটা নতুন column যোগ করো, migrate চালালেই সেটা ডেটাবেসে reflect করবে।
2️⃣ Prisma Client (🔌 টাইপ-সেইফ ডেটাবেস ক্লায়েন্ট)
👉 কী করে:
Prisma Client হলো auto-generated JavaScript/TypeScript লাইব্রেরি, যেটা ব্যবহার করে তুমি ডেটাবেসে CRUD (Create, Read, Update, Delete) অপারেশন করতে পারো SQL না লিখেই।
🛠️ ব্যাবহার:
npx prisma generate
✅ সুবিধা:
টাইপ-সেইফ (TypeScript support)
-
Autocomplete এবং IntelliSense
-
Complex query সহজে লেখা যায়
🎯 উদাহরণ:
const user = await prisma.user.findUnique({
where: { email: "abc@gmail.com" },
});
3️⃣ Prisma Studio (🖥️ ভিজুয়াল ডেটাবেস GUI)
👉 কী করে:
Prisma Studio হলো একটি ব্রাউজার ভিত্তিক graphical interface যেখানে তুমি লাইভ ডেটা দেখতে, যোগ করতে, এডিট করতে পারো।
🛠️ ব্যাবহার:
npx prisma studio
✅ সুবিধা:
ডেভেলপার ফ্রেন্ডলি UI
-
লাইভ ডেটা CRUD
-
ডেটা ইনস্পেকশন খুব সহজ
📦 সংক্ষেপে বললে:
টুল | কাজ | কমান্ড
|
---|---|---|
✅ Prisma Migrate | Schema থেকে মাইগ্রেশন তৈরি করে | npx prisma init |
✅ Prisma Client | টাইপ-সেইফ কোয়েরি চালাতে করে |
|
✅ Prisma Studio | ভিজুয়াল ডেটা ম্যানেজ করার UI | npx prisma studio |
Purpose of different command :
✅ ১. npm install @prisma/client
🔍 এটি কী করে?
এই কমান্ডটি তোমার প্রজেক্টে @prisma/client
প্যাকেজটি ইনস্টল করে — অর্থাৎ, Prisma Client লাইব্রেরিটি node_modules
এ যোগ করে।
📦 এটা হচ্ছে JavaScript/TypeScript লাইব্রেরি যেটা Prisma Schema ফাইল থেকে ডেটাবেসের জন্য টাইপ-সেইফ client বানায়।
🛠️ কবে ব্যবহার করব?
যখন তুমি প্রথমবার Prisma ব্যবহার শুরু করছো
-
অথবা অন্য মেশিনে প্রজেক্ট ক্লোন করে শুরু করতে যাচ্ছো
✅ ২. npx prisma generate
🔍 এটি কী করে?
এই কমান্ডটি তোমার schema.prisma
ফাইল পড়ে Prisma Client কোড auto-generate করে।
🛠️ Prisma Schema → পড়ে → node_modules/@prisma/client
বা custom directory তে ক্লায়েন্ট কোড তৈরি করে।
🛠️ কবে ব্যবহার করব?
যখনই তুমি
schema.prisma
ফাইল পরিবর্তন করো (মডেল এডিট বা নতুন মডেল)-
prisma
ফোল্ডারে নতুন রিলেশন, ফিল্ড, কনস্ট্রেইন্ট যোগ করলে
📌 সংক্ষেপে পার্থক্য:
Command | কাজ | কখন ব্যবহার করব |
---|---|---|
npm install @prisma/client |
লাইব্রেরি ইন্সটল করে | প্রথমবার বা নতুন environment এ |
npx prisma generate |
ক্লায়েন্ট কোড জেনারেট করে | schema পরিবর্তনের পর |
🧠 উদাহরণ:
তুমি যদি schema.prisma
-তে এইরকম নতুন মডেল লেখো:
model Post {
id Int @id @default(autoincrement())
title String
}
তখন
npx prisma generate
না দিলেprisma.post.findMany()
ইত্যাদি চলবে না।