技能 py-alembic-patterns
🗄️

py-alembic-patterns

安全 🌐 網路存取⚙️ 外部命令

كتابة ترحيلات Alembic آمنة لـ PostgreSQL

يمكن أن تتسبب ترحيلات قواعد البيانات في فقدان البيانات أو توقف الخدمة عند تنفيذها بشكل غير صحيح. توفر هذه المهارة أنماطًا مختبرة لإنشاء ومراجعة وتطبيق ترحيلات Alembic بأمان.

支援: Claude Codex Code(CC)
📊 70 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「py-alembic-patterns」。 إنشاء ترحيل لإعادة تسمية عمود name إلى full_name في جدول users

預期結果:

  • تحذير: سيقوم الإنشاء التلقائي بإنشاء حذف+إضافة مما يفقد البيانات
  • النهج الصحيح: استخدم op.alter_column مع معامل new_column_name
  • مثال: op.alter_column('users', 'name', new_column_name='full_name')
  • قم دائمًا بتطبيق التراجع المطابق لعكس إعادة التسمية

正在使用「py-alembic-patterns」。 إضافة عمود role مطلوب إلى جدول users الذي يحتوي بالفعل على بيانات

預期結果:

  • عملية من ثلاث خطوات للأعمدة غير القابلة للقيمة الفارغة على الجداول الموجودة:
  • الخطوة 1: إضافة العمود كقابل للقيمة الفارغة
  • الخطوة 2: إعادة تعبئة الصفوف الموجودة بالقيمة الافتراضية
  • الخطوة 3: تعديل العمود لإضافة قيد NOT NULL
  • هذا يمنع الفشل على الجداول التي تحتوي على بيانات موجودة

安全審計

安全
v4 • 1/16/2026

This is a pure documentation skill containing only markdown content with educational code examples. All 39 static findings are false positives caused by pattern matching on example code in markdown blocks and metadata fields. No executable code, scripts, network operations, or file system access exists in this skill.

2
已掃描檔案
548
分析行數
2
發現項
4
審計總數
審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
87
內容
21
社群
100
安全
91
規範符合性

你能建構什麼

كتابة ترحيلات آمنة للإنتاج

إنشاء ترحيلات مع مسارات تراجع مناسبة تتعامل مع البيانات بشكل صحيح وتتجنب قفل الجداول في بيئات الإنتاج.

مراجعة الترحيلات قبل النشر

التحقق من أن الترحيلات تتبع أنماط السلامة ولن تتسبب في توقف الخدمة أو فقدان البيانات أثناء عمليات نشر الإنتاج.

تدقيق ممارسات الترحيل للفريق

التأكد من أن فرق التطوير تتبع أفضل ممارسات PostgreSQL للتسمية وإنشاء الفهارس وإدارة القيود.

試試這些提示

إنشاء ترحيل جديد
ساعدني في إنشاء ترحيل Alembic لإضافة جدول user_preferences مع أعمدة id و user_id و theme. قم بتضمين دوال الترقية والتراجع المناسبة.
مراجعة الكود المُنشأ تلقائيًا
راجع ترحيل Alembic المُنشأ تلقائيًا للكشف عن الأنماط الخطيرة. تحقق من مخاطر فقدان البيانات ومنطق التراجع المفقود: [الصق الترحيل]
التعامل مع تغييرات الجداول الكبيرة
أحتاج إلى إضافة فهرس على جدول events الذي يحتوي على 50 مليون صف. أرني كيفية القيام بذلك دون قفل الجدول في الإنتاج.
ترحيل البيانات مع إعادة التعبئة
أقوم بإضافة عمود status يجب ملؤه بناءً على أعمدة أخرى. أرني كيفية تنفيذ هذا كترحيل بيانات مع معالجة دفعية.

最佳實務

  • قم دائمًا بتطبيق دوال التراجع التي تعكس عملية الترقية بالكامل
  • راجع كل ترحيل مُنشأ تلقائيًا للكشف عن أنماط الحذف+الإضافة التي تتسبب في فقدان البيانات
  • استخدم CONCURRENTLY لإنشاء الفهارس على الجداول الكبيرة لمنع عمليات القفل في الإنتاج

避免

  • الاعتماد على الترحيلات المُنشأة تلقائيًا دون مراجعة يدوية لإعادة تسمية الأعمدة
  • إضافة أعمدة NOT NULL دون إعادة تعبئة الصفوف الموجودة أولاً
  • ترك دوال التراجع فارغة مع pass فقط، مما يجعل التراجع مستحيلاً

常見問題

هل تنفذ هذه المهارة الترحيلات على قاعدة البيانات الخاصة بي؟
لا. توفر هذه المهارة الأنماط والأمثلة. تقوم أنت بتشغيل الترحيلات بنفسك باستخدام أوامر Alembic في مشروعك.
ما التغييرات التي يتعامل معها الإنشاء التلقائي لـ Alembic بشكل صحيح؟
إنشاء الجداول، وإضافة وإزالة الأعمدة، وتغييرات الأنواع، والمفاتيح الخارجية تعمل بشكل موثوق. تحقق دائمًا من المخرجات المُنشأة.
كيف يمكنني ترحيل الجداول التي تحتوي على ملايين الصفوف بأمان؟
استخدم CONCURRENTLY للفهارس، وقم بتحديث البيانات على دفعات، وأضف أعمدة قابلة للقيمة الفارغة قبل القيود.
هل ستمنع هذه الأنماط كل فقدان للبيانات؟
تتناول المخاطر الشائعة ولكن احتفظ دائمًا بنسخة احتياطية من قواعد بيانات الإنتاج قبل الترحيلات واختبر مسارات التراجع.
هل يمكنني استخدام هذه الأنماط مع MySQL أو قواعد البيانات الأخرى؟
بعض الأنماط مثل CONCURRENTLY خاصة بـ PostgreSQL. الهيكل العام وممارسات المراجعة تنطبق على نطاق واسع.
لماذا يجب علي تطبيق دوال التراجع التي قد لا أستخدمها أبدًا؟
التراجعات ضرورية للتراجع عند اكتشاف مشكلات بعد النشر. المرة الواحدة التي تحتاجها تبرر الجهد.

開發者詳情

檔案結構

📄 SKILL.md