إنشاء ملحق لتجاوز الحد الأقصى لنتائج الاستعلام

لقد حاولت بسذاجة إنشاء إضافة (لم أفعل ذلك من قبل، بخلاف المرور عبر البرنامج التعليمي للإضافات قبل بضع سنوات) لتجاوز الحدود المعينة في وحدة DataExplorer، ومع ذلك، لم أتمكن من جعلها تعمل.

هل أنا على المسار الصحيح أم أن هذا نهج خاطئ تمامًا؟

ملاحظة: أقوم بتعيين QUERY_RESULT_DEFAULT_LIMIT إلى 1 لتسهيل اختبار ما إذا كانت الحدود المخصصة سارية المفعول.

لا أوصي بإضافة إضافة هنا.
بدلاً من ذلك، قم بتقديم طلب سحب (PR) لإضافة إعداد عام (GlobalSetting) (مدعوم بمتغيرات البيئة).

5 إعجابات

يبدو أن هذا لم يكن أولوية قصوى لأي شخص في العامين الماضيين، لكنني احتجت إلى هذا اليوم وقمت بحله عن طريق تعديل الملف يدويًا داخل الحاوية.

تتمثل إحدى طرق التحايل في استخدام شيء مثل ما يلي في app.yml:

  after_bundle_exec:
   - replace:
        filename: "/var/www/discourse/plugins/discourse-data-explorer/plugin.rb"
        from: /QUERY_RESULT_MAX_LIMIT = 10_000/
        to: QUERY_RESULT_MAX_LIMIT = 100_000

ولكن يبدو أن طلب السحب (PR) سيكون شيئًا مثل إضافة هذا إلى plugin.rb:

GlobalSetting.add_default(:query_result_max_limit, 10000)

ثم تغيير الوحدة النمطية أعلاه إلى شيء مثل

  QUERY_RESULT_MAX_LIMIT = GlobalSetting.query_result_max_limit || 10_000

هل هذا كل ما يتطلبه الأمر؟

إعجابَين (2)

إغلاق…

أود التوقف عن استخدام الثابت واستخدام GlobalSetting.query_result_max_limit في كل مكان بدلاً من ذلك، أنت تقوم بالفعل بتكوين قيمة افتراضية، فلماذا تقوم بتكوينها مرتين.

ولكن يجب أن يكون هناك إعداد افتراضي إذا لم يقوموا بتعيين الإعداد العام؟

لقد قمت بتعيينه، في plugin.rb

أوووووه. أعتقد أن “add_default” يضيف بالفعل افتراضيًا. :person_shrugging:

عفوًا.

لذا أضف الإعداد الافتراضي GlobalSetting واستبدل كل الإشارات إلى الثابت القديم بـ GlobalSetting.

فهمت.

سأرى ما يمكنني فعله.