تثبيت Prisma والاتصال بالقاعدة
المسار: تطوير نظام إدارة الأعراس ودعوات QR الوحدة: إعداد المشروع والتقنيات
مدخل إلى الدرس: تثبيت Prisma والاتصال بالقاعدة
تثبيت Prisma والاتصال بالقاعدة — نظام إدارة الأعراس والمناسبات ودعوات QR | Next.js وPrisma | أديب الصلوي
طريقة الدراسة: اقرأ التعريف، تتبّع المثال في الشرح، نفّذه بنفسك، ثم اختبر النتيجة والحالات الاستثنائية قبل الانتقال.
أهداف هذا الدرس
- تثبيت Prisma CLI وتهيئة المخطط في المشروع.
- ضبط متغيرات البيئة DATABASE_URL بشكل آمن.
- اختبار الاتصال الفعلي بأمر prisma db pull / migrate.
المخطط: كيف تُربط Prisma بالقاعدة في مشروعنا؟
flowchart TD
PKG["package.json — dependency prisma"]
ENV[".env — DATABASE_URL=postgresql://..."]
PKG --> SCH["Prisma Schema
datasource db { provider postgresql · url env() }
generator client"]
ENV --> SCH
SCH --> GEN["npx prisma generate"]
GEN --> CLIENT["@prisma/client"]
مثال
npm install prisma --save-dev npm install @prisma/client npx prisma init --datasource-provider postgresql ✔ Your Prisma schema was created at prisma/schema.prisma ✔ You can now open it in your editor ✔ Next steps... .env DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DB".
مثال
.env
DATABASE_URL="postgresql://wedding:wedding_dev_pass@localhost:5432/wedding_db"
# prisma/schema.prisma (تعديلاً أولياً)
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}مثال
# فحص جاهزية الاتصال قبل كتابة النماذج npx prisma validate Datasource "db": PostgreSQL database "wedding_db" at "localhost:5432"
add .env إلى .gitignore فوراً. لا نصوّر المفاتيح ولا كلمة المرور في أي مخرجات عامة.
الخلاصة السريعة
- متغير base عبر .env يُقصد ألا يدخل vcs.
- validate يكشف أخطاء تركيب المخطط قبل أي ترحيل.
- نتصفح دعم PostgreSQL داخل schema.datasource.
تمرين تطبيقي: عدّل .env إلى القيم الصحيحة محلياً ثم نفّذ npx prisma validate واعرض ناتجه دون المفتاح.
أخطاء شائعة يجب تفاديها
- نسيان إضافة .env إلى gitignore حيث تحوّل الـ env ملفات المشروع.
- توجيه أوامر التطوير إلى قاعدة بعيدة/إنتاج بلا رقابة.
- استخدام provider آخر يغير صياغة الأنواع والنماذج.
معجم مصطلحات الدرس
- Prisma CLI
- أداة تهيئة وترحيل وتوليد عميل Prisma.
- schema.prisma
- ملف تعريف قاعدة البيانات والنماذج.
- env()
- دالة قراءة متغيرات البيئة في المخطط.
مراجعة وتمرين تثبيت المهارة
اختبار سريع: اشرح بعبارتك معنى «تثبيت Prisma والاتصال بالقاعدة»، ثم بيّن أين ستستخدمه داخل نظام تسجيل حضور دعوات مناسبة عبر رمز QR، وما الخطأ الذي يجب اختباره قبل الاعتماد على الحل.
تحدٍّ إضافي: غيّر شرطًا واحدًا في التطبيق، وتوقع النتيجة، ثم نفّذ الاختبار وفسّر الاختلاف.
الدرس التالي: بنية مجلدات المشروع ومسارات الصفحات. من الأفضل إنهاء التجربة الحالية قبل متابعة الدرس التالي.