المهارات prisma-expert
📦

prisma-expert

آمن ⚙️ الأوامر الخارجية🔑 متغيرات البيئة

إتقان Prisma ORM لتطوير قواعد البيانات

هل تعاني من أخطاء مخطط Prisma أو تعارضات الترحيل أو بطء استعلامات قاعدة البيانات؟ توفر هذه المهارة إرشادات متخصصة لتصميم المخططات وإدارة الترحيل وتحسين الاستعلامات عبر PostgreSQL وMySQL وSQLite.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "prisma-expert". مخطط ضمني للعلاقة كثير إلى كثير يتسبب في مشاكل الأداء

النتيجة المتوقعة:

تم تحديد العلاقة الضمنية كثير إلى كثير بين نماذج User وPost. التوصية: إنشاء نموذج ربط صريح مع حقول إضافية للبيانات الوصفية. تمت إضافة توجيهات @relation مع تسمية واضحة. تمت إضافة فهرس مركب على مفاتيح خارجية لأداء الربط.

استخدام "prisma-expert". استعلام N+1 في نقطة نهاية قائمة المستخدمين تجلب المنشورات بشكل فردي

النتيجة المتوقعة:

تم اكتشاف نمط استعلام N+1. الحل: استبدال جلب المنشورات الفردية باستعلام واحد باستخدام علاقة include. تم تقليل 101 استعلام إلى استعلام واحد.تمت إضافة select للحد من الحقول المرجعة. تقدير تقليل بنسبة 95% في رحلات قاعدة البيانات.

التدقيق الأمني

آمن
v1 • 2/24/2026

Static analysis flagged 88 patterns that are all false positives for this legitimate Prisma ORM helper skill. External commands are standard Prisma CLI operations (validate, migrate, generate). Network references are documentation URLs. Environment access is limited to DATABASE_URL and NODE_ENV configuration required for database connectivity. No malicious patterns, credential exfiltration, or dangerous code execution detected.

1
الملفات التي تم فحصها
361
الأسطر التي تم تحليلها
3
النتائج
1
إجمالي عمليات التدقيق
مشكلات منخفضة المخاطر (1)
External Command Execution
Skill executes shell commands via npx prisma CLI for environment detection and database operations. All commands are legitimate Prisma tooling with hardcoded arguments.

عوامل الخطر

⚙️ الأوامر الخارجية (4)
🔑 متغيرات البيئة (2)
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

مطور Full-Stack يبني تطبيق SaaS

صمم مخطط Prisma قابل للتوسع مع نماذج المستخدمين والاشتراك والفوترة المناسبة. أنشئ سير عمل ترحيل آمن للنشر الإنتاجي وحسّن استعلامات لوحة التحكم.

قائد الفريق يحل تعارضات الترحيل

صحح أخطاء الترحيل المتعارضة من عدة مطورين. تعلم كيفية استخدام prisma migrate resolve وتسوية تاريخ الترحيل وإنشاء سير عمل للفريق لمنع التعارضات المستقبلية.

مهندس الواجهة الخلفية يحسن أداء API

حدد وأصلح مشاكل استعلام N+1 في REST أو GraphQL APIs. نفّ أنماط select وinclude المناسبة وأضف فهارس استراتيجية وكوّن تجميع الاتصالات للنقاط النهائية ذات الحركة العالية.

جرّب هذه الموجهات

مراجعة تصميم المخطط
راجع مخطط Prisma الخاص بي لأفضل الممارسات. تحقق من تعريفات استخدام الفهارس وأنواع الحقول. اقترح تحسينات للأداء وقابلية الصيانة.
تصحيح أخطاء الترحيل
فشل ترحيل Prisma مع الخطأ [الصق الخطأ]. قاعدة البيانات في حالة غير متناسقة. ساعدني في تشخيص المشكلة وتقديم أوامر خطوة بخطوة لحلها.
تحسين الاستعلامات
لدي استعلام Prisma بطيء [الصق الاستعلام]. حلله بحثاً عن مشاكل N+1 والجلب الزائد والفهارس المفقودة. أرني الإصدار المحسّن مع الشرح.
تكوين تجميع الاتصالات
أقوم بالنشر إلى [Vercel/AWS Lambda/Render] وأحصل على أخطاء الاتصال. ساعدني في تكوين تجميع اتصالات Prisma لبيئتي بدون خادم مع معلمات DATABASE_URL الصحيحة.

أفضل الممارسات

  • استخدم دائماً @relation صريح مع الحقول والمراجع للوضوح ومنع مشاكل حل العلاقات
  • تمكين تسجيل الاستعلامات في التطوير لتحديد الاستعلامات البطيئة ومشاكل N+1 مبكراً
  • استخدم migrate dev فقط في التطوير - استخدم دائماً migrate deploy للإنتاج مع خطوط CI/CD

تجنب

  • استخدام العلاقات الضمنية كثير إلى كثير عندما تحتاج إلى تخزين البيانات الوصفية على جدول الربط
  • استدعاء prisma.user.findMany() ثم التكرار لجلب البيانات ذات الصلة - يتسبب في استعلامات N+1
  • تشغيل migrate dev في الإنتاج مما يمكن أن يتسبب في فقدان البيانات وليس مت idempotent

الأسئلة المتكررة

كيف أعيد تعيين قاعدة بيانات التطوير دون فقدان بيانات الإنتاج؟
استخدم npx prisma migrate reset في التطوير فقط. هذا الأمر يسقط قاعدة البيانات ويعيد تطبيق جميع عمليات الترحيل وإعادة البذر. لا تقم بتشغيل هذا في الإنتاج. للإنتاج، أنشئ ترحيلاً جديداً بالتغييرات المطلوبة بدلاً من ذلك.
ما هو الفرق بين prisma migrate dev وprisma migrate deploy؟
migrate dev مخصص للتطوير - ينشئ ملفات الترحيل ويطبقها ويعيد تعيينها عند انحراف المخطط. migrate deploy مخصص للإنتاج - يطبق عمليات الترحيل المعلقة فقط دون إنشاء ملفات جديدة أو إعادة تعيين. لا تستخدم migrate dev في الإنتاج مطلقاً.
كيف أصلح تعارضات الترحيل عندما ينشئ مطورون متعددون ترحيلات؟
استخدم prisma migrate resolve لوضع علامة على عمليات الترحيل المتعارضة كتطبيقية أو مرجعة. للتعارضات المعقدة، قد تحتاج إلى تحرير ملفات SQL للترحيل يدوياً. أنشئ سير عمل للفريق حيث يسحب المطورون ويطبقون الترحيلات قبل إنشاء ترحيلات جديدة.
لماذا أحصل على أخطاء اتصالات كثيرة في الإنتاج؟
تجميع اتصالاتك مستنزف. أضف connection_limit إلى DATABASE_URL الخاص بك (مثال: connection_limit=5). للبيئات بدون خادم، استخدم نسخة PrismaClient عامة لإعادة استخدام الاتصالات. للتطبيقات ذات الحركة العالية، فكر في PgBouncer أو تجميع الاتصالات مزود السحابة.
هل يمكن أن يعمل Prisma مع قواعد البيانات الموجودة؟
نعم. استخدم npx prisma db pull لفحص قاعدة بيانات موجودة وإنشاء مخطط. راجع وتخصيص المخطط المنشأ، ثم شغل npx prisma generate لإنشاء العميل. يمكنك أيضاً استخدام prisma migrate لإدارة تغييرات المخطط المستقبلية.
كيف أتعامل مع معاملات قاعدة البيانات في Prisma؟
استخدم prisma.$transaction مع مصفوفة للعمليات المتسلسلة، أو دالة رد اتصال للمعاملات التفاعلية مع منطق العمل. تكوين خيارات maxWait وtimeout وisolationLevel. انتبه لأن المعاملات التفاعلية تحتفظ بالاتصالات لفترة أطول.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md