database-migration
تخطيط عمليات ترحيل قاعدة البيانات مع أمان التراجع
متاح أيضًا من: Doyajin174,CleanExpo
يمكن أن تكسر عمليات ترحيل قاعدة البيانات في الإنتاج إذا تم التعجل. توفر هذه المهارة أنماطًا مثبتة للتغييرات الآمنة للمخطط، وتحويلات البيانات، والعمليات العكسية عبر Sequelize وTypeORM وPrisma.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "database-migration". توفير خطة بتيقاف صفري لإعادة تسمية users.name إلى users.full_name
النتيجة المتوقعة:
- المرحلة 1: إضافة عمود full_name جديد بجانب العمود name الموجود
- المرحلة 2: نشر الكود الذي يكتب في كلا العمودين في وقت واحد
- المرحلة 3: تشغيل backfill لنسخ قيم name إلى full_name دفعات
- المرحلة 4: تحويل قراءات التطبيق لاستخدام عمود full_name
- المرحلة 5: بعد التحقق، إزالة عمود name القديم في نشر منفصل
استخدام "database-migration". إنشاء استراتيجية تراجع مستندة إلى نقاط التحقق لترحيل حقل full_address
النتيجة المتوقعة:
- إنشاء جدول احتياطي باستخدام CREATE TABLE AS SELECT قبل الترحيل
- تنفيذ الترحيل في دفعات صغيرة مع التحقق بعد كل دفعة
- في حالة الفشل، الاستعادة باستخدام DROP TABLE وCREATE TABLE AS SELECT من الاحتياطي
- إسقاط جدول الاحتياط بعد التحقق الناجح
التدقيق الأمني
آمنThe static analyzer flagged 42 potential issues, but all are false positives. SKILL.md contains only documentation and code examples for database migration patterns. The 'weak cryptographic algorithm' findings were triggered by text patterns in documentation describing migration operations. The 'Ruby/shell backtick execution' findings misidentified command-line comments as shell execution. No actual executable code, credential access, or network exfiltration patterns exist. This is static instructional content only.
عوامل الخطر
🌐 الوصول إلى الشبكة (1)
⚙️ الأوامر الخارجية (25)
درجة الجودة
ماذا يمكنك بناءه
نشر بتوقف صفري
تخطيط عمليات ترحيل مرحلية تحافظ على توفر التطبيق أثناء تغييرات المخطط مع استراتيجيات نشر blue-green.
تحويل البيانات
تصميم عمليات backfill الآمنة وإعادة هيكلة الأعمدة مع خيارات التراجع المستندة إلى نقاط التحقق لمجموعات البيانات الكبيرة.
استراتيجية ترحيل ORM
مقارنة أساليب الترحيل عند التبديل بين Sequelize وTypeORM وPrisma مع اعتبارات التوافق.
جرّب هذه الموجهات
إنشاء خطة ترحيل آمنة لإضافة عمود status غير فارغ بقيمة افتراضية في Sequelize، بما في ذلك خطوات التراجع واعتبارات backfill البيانات.
تحديد عملية بتيقاف صفري لإعادة تسمية users.name إلى users.full_name مع نشر مرحلي، واستراتيجية backfill، وخطوات التنظيف.
عرض نهج ترحيل يتعامل مع اختلافات نوع JSON بين MySQL وPostgreSQL في TypeORM مع منطق شرطي.
تصميم استراتيجية تراجع مستندة إلى نقاط التحقق لترحيل البيانات الذي يقسم حقل full_address إلى مكونات street وcity وstate وzip.
أفضل الممارسات
- وفر دائمًا خطوة تراجع لكل ترحيل مع طرق down() مناسبة
- اختبر عمليات الترحيل على بيانات staging تعكس الإنتاج قبل النشر
- استخدم تغييرات مخطط صغيرة وتدريجية بدلاً من عمليات ترحيل كبيرة monolithic
تجنب
- إسقاط الأعمدة قبل التحقق من backfill البيانات وتوافق التطبيق
- تشغيل عمليات ترحيل كبيرة بدون حدود معاملات أو خطط تراجع
- تجاهل معالجة قيم NULL وتأثيرات قيود المفاتيح الخارجية أثناء التحويلات
الأسئلة المتكررة
ما هي ORMs المدعومة؟
هل توجد حدود حجم لعمليات الترحيل؟
هل يمكنني دمج هذا مع أنابيب CI؟
هل يصل إلى قاعدة البيانات أو الأسرار الخاصة بي؟
ماذا لو فشل الترحيل في منتصف التشغيل؟
كيف يقارن بأدوات الترحيل؟
تفاصيل المطور
المؤلف
wshobsonالترخيص
MIT
المستودع
https://github.com/wshobson/agents/tree/main/plugins/framework-migration/skills/database-migrationمرجع
main
بنية الملفات
📄 SKILL.md