مرحباً،
ما هي أفضل طريقة لتعيين default_limit إلى شيء مثل 12345678؟
لنفترض أنني بحاجة وأريد أكثر من 1000 صف.
مرحباً،
ما هي أفضل طريقة لتعيين default_limit إلى شيء مثل 12345678؟
لنفترض أنني بحاجة وأريد أكثر من 1000 صف.
لا يمكنني معرفة ما تتحدث عنه default_limit. لا أرى ذلك في site_settings.yml. ماذا تحاول أن تفعل؟ وهل تحاول القيام بذلك في مكون إضافي أو مكون سمة (بما أنك نشرت في قسم التطوير)؟
حسنًا، الطريقة الوحيدة هي تعيين قيمة أخرى كهذه:
كنت آمل أن تكون هناك طريقة أفضل في واجهة إعدادات Discourse.
./launcher enter app
cd /var/www/discourse/plugins/discourse-data-explorer/
sed -i 's/QUERY_RESULT_DEFAULT_LIMIT = 1000/QUERY_RESULT_DEFAULT_LIMIT = 12345678/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
sed -i 's/QUERY_RESULT_MAX_LIMIT = 1000/QUERY_RESULT_MAX_LIMIT = 12345678/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
بالتأكيد ليست الطريقة الوحيدة.
وفقًا لرابطي، يمكنك عمل fork للمكون الإضافي، وتغيير الثابت، واستنساط الـ fork الخاص بك.
يمكنك دائمًا تقديم طلب سحب (PR) لإعداد مكون إضافي لهذا المكون الإضافي…
ليست الطريقة الوحيدة. من الممكن إجراء تغييرات كهذه باستخدام المشغل. يمكنك تسجيل الدخول إلى القوالب الأخرى للحصول على أمثلة حول كيفية إجراء تغييرات على الملفات.
إذا لم تكن هذه هي الطريقة الوحيدة، فهل يمكنك تقديم مثال شكرًا.
لقد قاموا مؤخرًا بتغيير الكود إلى إعدادات مخفية جديدة…
cd /var/discourse
./launcher enter app
sed -i 's/QUERY_RESULT_DEFAULT_LIMIT = 1000/QUERY_RESULT_DEFAULT_LIMIT = 10000000/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
sed -i 's/QUERY_RESULT_MAX_LIMIT = 1000/QUERY_RESULT_MAX_LIMIT = 10000000/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
sed -i 's/default: 1000/default: 10000000/g' plugins/discourse-data-explorer/config/settings.yml
sed -i 's/max: 10000/max: 10000000/g' plugins/discourse-data-explorer/config/settings.yml
rails c
SiteSetting.data_explorer_query_result_limit=1000000
exit
exit
reboot
كيف يمكن تغيير “إعداد مخفي” بهذه الطريقة المتقدمة؟
آمل ألا يتطلب الأمر تعديل الكود لتغيير حد أساسي لمكون الإضافة.
يمكنك تغيير إعداد موقع مخفي باستخدام وحدة تحكم rails (إذا كان لديك وصول إلى الخادم).
cd /var/discourse
./launcher enter app
rails c
SiteSetting.data_explorer_query_result_limit = 10000
على الرغم من أن الحد الأعلى هو 10,000، وأعتقد أن هذا هو فقط عدد النتائج التي يتم عرضها “على الشاشة” - يمكنك بالفعل تصدير 10,000 نتيجة حتى مع تعيين الإعداد على القيمة الافتراضية 1000.
أعتقد أن إضافة إزاحة صفحة إلى استعلامك مفيدة إذا كنت ترغب في الحصول على دفعات لتصديرها وضمها معًا في جدول بيانات (إلخ). على سبيل المثال:
-- [params]
-- integer :page = 0
-- integer :limit = 10000
SELECT
category_id,
created_at::date,
id AS topic_id,
views
FROM topics
WHERE deleted_at IS NULL
ORDER BY created_at DESC
OFFSET :page * :limit
LIMIT :limit
لقد حصلت على 1000 نتيجة فقط عند الاستعلام عن استعلام عبر واجهة برمجة التطبيقات (API) وبالنظر إلى الحمل الزائد الكبير لكل طلب (عامل 100 للطلب الخام إلى قاعدة البيانات) أفضل زيادة هذا الحد بدلاً من إجراء استعلامات متعددة. ![]()
هل هذا النهج الخاص بـ rail console مستمر عبر ترقيات البرامج وإعادة التشغيل؟
تغيير إعداد موقع عبر وحدة تحكم rails هو نفس الشيء كما لو تم ذلك من خلال واجهة المستخدم (فقط بالنسبة للإعدادات المخفية لا توجد واجهة مستخدم
)، لذلك سيبقى التغيير ولن يتأثر بإعادة البناء أو إعادة التشغيل، إلخ. ![]()
معرفتي بتشغيلها عبر واجهة برمجة التطبيقات ليست جيدة مثل الطريقة العادية، ولكن أعتقد أن هناك طريقة للحصول على 10,000 كاملة دون تغيير الإعداد في وحدة تحكم rails في هذا الموضوع - Run Data Explorer queries with the Discourse API
شكراً لك، هذا المعامل limit=ALL يحل المشكلة بالنسبة لي.