إضافة دعم لتعليقات سجل الاستعلام البادئة

ماذا؟

أضف دعمًا لـ ActiveRecord::QueryLogs.prepend_comment كتوسيع طبيعي لميزة علامات سجل الاستعلام الحالية. يعمل هذا الإعداد الجديد جنبًا إلى جنب مع متغير البيئة الحالي RAILS_QUERY_LOG_TAGS.

لماذا؟

تعد علامات سجل الاستعلام مفيدة للغاية لتصحيح الأخطاء، ولكن هناك مشكلة: عند التعامل مع استعلامات طويلة ومعقدة، غالبًا ما تقوم PostgreSQL وقواعد البيانات الأخرى باقتطاع السجلات. عند حدوث ذلك، يتم قطع السياق القيم من علامات الاستعلام (التي يتم إلحاقها في النهاية افتراضيًا)، مما يجعل من الصعب تتبع الجزء الذي أنشأ الاستعلام من تطبيقك.

من خلال تمكين prepend_comment، يتم نقل علامات الاستعلام إلى بداية استعلام SQL بدلاً من نهايته. هذا يضمن أنه حتى عندما يتم اقتطاع الاستعلامات في السجلات، ستظل قادرًا على رؤية معلومات تصحيح الأخطاء الهامة مثل أسماء وحدات التحكم، وأسماء الإجراءات، ومعلومات الوظائف.

كيف؟

يجب أن تكون الميزة اختيارية وتتبع نمط Discourse الحالي للتكوين:

  1. قم بتمكين علامات سجل الاستعلام (إذا لم تكن ممكّنة بالفعل): RAILS_QUERY_LOG_TAGS=1
  2. قم بتمكين التعليق المسبق: RAILS_QUERY_LOG_PREPEND_COMMENT=1

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

طلب سحب التنفيذ: Add support for ActiveRecord::QueryLogs.prepend_comment by mudit-1996 · Pull Request #35888 · discourse/discourse · GitHub