py-alembic-patterns
كتابة ترحيلات Alembic آمنة لـ PostgreSQL
يمكن أن تتسبب ترحيلات قواعد البيانات في فقدان البيانات أو توقف الخدمة عند تنفيذها بشكل غير صحيح. توفر هذه المهارة أنماطًا مختبرة لإنشاء ومراجعة وتطبيق ترحيلات Alembic بأمان.
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「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
- هذا يمنع الفشل على الجداول التي تحتوي على بيانات موجودة
安全審計
安全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.
風險因素
🌐 網路存取 (1)
⚙️ 外部命令 (24)
品質評分
你能建構什麼
كتابة ترحيلات آمنة للإنتاج
إنشاء ترحيلات مع مسارات تراجع مناسبة تتعامل مع البيانات بشكل صحيح وتتجنب قفل الجداول في بيئات الإنتاج.
مراجعة الترحيلات قبل النشر
التحقق من أن الترحيلات تتبع أنماط السلامة ولن تتسبب في توقف الخدمة أو فقدان البيانات أثناء عمليات نشر الإنتاج.
تدقيق ممارسات الترحيل للفريق
التأكد من أن فرق التطوير تتبع أفضل ممارسات PostgreSQL للتسمية وإنشاء الفهارس وإدارة القيود.
試試這些提示
ساعدني في إنشاء ترحيل Alembic لإضافة جدول user_preferences مع أعمدة id و user_id و theme. قم بتضمين دوال الترقية والتراجع المناسبة.
راجع ترحيل Alembic المُنشأ تلقائيًا للكشف عن الأنماط الخطيرة. تحقق من مخاطر فقدان البيانات ومنطق التراجع المفقود: [الصق الترحيل]
أحتاج إلى إضافة فهرس على جدول events الذي يحتوي على 50 مليون صف. أرني كيفية القيام بذلك دون قفل الجدول في الإنتاج.
أقوم بإضافة عمود status يجب ملؤه بناءً على أعمدة أخرى. أرني كيفية تنفيذ هذا كترحيل بيانات مع معالجة دفعية.
最佳實務
- قم دائمًا بتطبيق دوال التراجع التي تعكس عملية الترقية بالكامل
- راجع كل ترحيل مُنشأ تلقائيًا للكشف عن أنماط الحذف+الإضافة التي تتسبب في فقدان البيانات
- استخدم CONCURRENTLY لإنشاء الفهارس على الجداول الكبيرة لمنع عمليات القفل في الإنتاج
避免
- الاعتماد على الترحيلات المُنشأة تلقائيًا دون مراجعة يدوية لإعادة تسمية الأعمدة
- إضافة أعمدة NOT NULL دون إعادة تعبئة الصفوف الموجودة أولاً
- ترك دوال التراجع فارغة مع pass فقط، مما يجعل التراجع مستحيلاً