GraphQL / المتوسط: السياسة والمصادر والعملاء / الدرس 11
تطور المخطط والإهمال والتوافق
قيم التعديلات مقابل العمليات المنشورة ودلالات العمل بدلاً من افتراض سلامة كل إضافة.
في هذه الصفحة
أهداف الدرس
- ميز كسر البنية عن مخاطر السلوك.
- خطط الإهمال بملكية ودليل استعمال وتحقق انتقال.
راجع المخطط كاعتماد عام
قد ينشر العميل بجدول مختلف خصوصاً الهاتف والتكامل الخارجي. إعادة تسمية حقل حذف وإضافة لا تنظيف بسيط. تؤثر متطلبات الوسيط والتمثيل والصلاحية والترتيب وقبول null رغم صغر الفرق. احفظ معنى المجال بجانب شكل SDL. لا تغير publishedAt من وقت النشر لآخر تعديل لأنهما يتسلسلان كتاريخين.
قدم بديلاً قبل حذف الحقل
يعني الإهمال طلب الانتقال ولا يحذف القديم أو يثبت توقف المستهلكين. نفذ البديل ووثق دلالاته المكافئة أو المتغيرة عمداً. يحفظ المثال name ويضيف title. يفيد سبب يرشد للبديل، وتوثق الخطة والملكية في الإصدار. لا تخترع موعداً دون سياسة دعم، واحذف وفق دليل الاستعمال والتزام التوافق لا الظن.
type Course {
id: ID!
name: String! @deprecated(reason: "Use title for the course display title")
title: String!
}
يبقى الحقلان قابلين للاختيار وتظل الوثائق القديمة صحيحة حتى حذف القديم فعلياً.
للتوافق اتجاه في الإدخال والإخراج
قد يبطل جعل إدخال اختياري مطلوباً وثائق تحذفه. وقد يكسر تحويل إخراج غير null إلى قابل لها عملاء يعتمدون القيمة. تفاجئ إضافة تعداد أو عضو اتحاد عملاء بتفرع شامل. توجد قواعد صلاحية في المواصفة ومخاطر في النظام البيئي؛ فالفاحص البنيوي دليل لا قرار إصدار كامل. اختبر الوثائق والمتغيرات وافتراضات الكود المولد مع الفرق.
تتبع دليل الانتقال دون قيم خاصة
قد يسمي سجل الانتقال الإحداثي القديم والبديل والمالك والتحقق. JSON التالية سجل مراجعة محلي لا ربط سجل مخططات أو ادعاء قياس. تسجل القياسات الحقيقية معرفات آمنة واستخدام حقول بسياسة احتفاظ. لا يثبت الصفر في نافذة قصيرة انتقال عميل دفعات نادر. أدرج المستهلكين الموسميين وغير المتصلين قبل التقاعد.
{
"coordinate": "Course.name",
"replacement": "Course.title",
"owner": "training-catalog",
"checks": ["supported-documents-validate", "client-migrations-confirmed", "usage-window-reviewed"],
"removalDecision": "requires-recorded-evidence"
}
يسجل متطلبات الدليل لا فحوصاً منجزة ولا أعداد استعمال حقيقية أو وثائق عملاء.
أدرج توافق التراجع في الخطة
يضيف الإطلاق الآمن الدعم ثم ينقل العملاء ويراقب قبل التقاعد. راجع التراجع لأن العميل الجديد قد يعتمد حقلاً لا يعرفه الخادم السابق. احتفظ بتداخل أو استراتيجية قدرات حتى لا يعزل استرجاع الخادم العميل. ولد الأنواع من أثر المخطط المقصود والوثائق الكاملة وثبت الآثار في المراجعة كي لا يجلب البناء عقداً بعيداً مختلفاً صامتاً.
الأخطاء الشائعة وإصلاحها
تكسر إعادة التسمية العملاء القدامى
- لماذا يحدث؟
- عد الحذف إعادة هيكلة داخلية.
- كيف تصلحه؟
- أعد التداخل وانقل الوثائق المدعومة.
- كيف تتجنب تكراره؟
- افحص التوافق مقابل عمليات العملاء المحفوظة.
تكسر قيمة تعداد جديدة تفريعاً شاملاً
- لماذا يحدث؟
- افترضت سلامة الإضافة لكل عميل مولد.
- كيف تصلحه؟
- أضف معالجة مجهول وحدث المستهلكين.
- كيف تتجنب تكراره؟
- راجع نمو التعداد والاتحاد في عقود العميل.
يترك التراجع العملاء يطلبون حقلاً غائباً
- لماذا يحدث؟
- غابت خطة تداخل بين الإصدارين.
- كيف تصلحه؟
- احفظ دعم الخادم المتوافق أثناء نافذة التراجع.
- كيف تتجنب تكراره؟
- تحقق من آثار التراجع في مراجعة الإصدار.
اختبر فهمك
1. هل تتوافق إضافة وسيط مطلوب لحقل موجود؟
اعرض الحل المشروح
قد تبطل الوثائق التي تحذفه فهو كاسر لها. راجع وسيطاً اختيارياً بسلوك آمن أو حقلاً مختلفاً عند تغير المعنى. تحقق من كل الوثائق والعينات لا عميل ويب واحداً معاد التوليد.
2. ما الدليل اللازم قبل حذف حقل مهمل؟
اعرض الحل المشروح
حدد المستهلكين المدعومين وأكد الانتقال وراجع نافذة ممثلة وتحقق من وثائقهم مقابل المقترح. أدرج النادر ومتطلبات التراجع. الإهمال إشعار لا إثبات، ولا يثبت صفر قصير توقف الجميع.
أهم ما تعلمته
- يشمل التوافق المعنى وافتراضات العميل لا صلاحية SDL فقط.
- يحتاج الإهمال دليلاً وإطلاقاً متداخلاً.