Emad Saif نشر 28 يوليو 2022 أرسل تقرير نشر 28 يوليو 2022 لدي مشروع لارافيل Laravel كبير نوعًا، واريد أن أقوم بتخزين كل إستعلامات SQL التي تتم في التطبيق لكي أقوم بتحليلها ومحاولة تحسينها أكثر. هل يوفر لارافيل Laravel إمكانية للقيام بهذا الأمر؟ أو هل توجد حزمة تساعد على تخزين إستعلامات SQL التي يتم تنفيذها في التطبيق؟ 1 اقتباس
2 Sam Ahw نشر 29 يوليو 2022 أرسل تقرير نشر 29 يوليو 2022 في حال كان قصدك تخزين الاستعلام كنص ضمن قاعدة البيانات، يمكنك ذلك من خلال إضافة خدمة إلى AppServiceProvider من خلال الاستماع إلى أي استعلام يجري على مستوى التطبيق: public function boot() { DB::listen(function($query) { //يمكنك استبدال عملية الطباعة إلى تخزين المتغيرات التي ترغب بها ضمن قاعدة البيانات Log::info( $query->sql, $query->bindings, $query->time ); }); } وفي بعض النسخ السابقة من لارافل يمكن الاستماع للحدث query من خلال الطريقة التالية: DB::listen(function($query) { \Log::info($query->sql); }); أو \Event::listen('illuminate.query', function($sql) { \Log::info($sql); }); ولكن عند الاستماع لأحداث قاعدة البيانات، يجب عليك إضافة متغيّر ما والتحقق منه قبل تخزين نتيجة الاستعلام في حال كان استعلام تحليلي أو استعلام عادي ضمن التطبيق لكي لا يتم تخزين الاستعلامات التحليلية (التي تنفّذ الحدث) ضمن قاعدة البيانات 1 اقتباس
1 Adnane Kadri نشر 29 يوليو 2022 أرسل تقرير نشر 29 يوليو 2022 أتذكر استخدام Laravel telescope لمثل هذا الغرض. هي ملحقة محلية ببيئة تطوير لارافيل توفر نفاصيل اكثر دقة على الطلبات الواردة إلى تطبيقك، والاستثناءات ، وإدخالات السجل، والبريد، والإشعارات، وعمليات التخزين المؤقت، والمهام المجدولة، ومن بينها استعلامات قاعدة البيانات. يمكن تثبيتها كحزمة خارجية. في القسم الخاص باستعلامات قواعد البيانات تتاح قائمة لكامل استعلامات قواعد البيانات التي تم تنفيذها. سرعة التنفيذ ومدته وتفاصيل أخرى. بجانب انها صديقة جدا لبيئة التطوير. أظن انها ما تبحث عنه. يمكنك استعمالها لتحسين جودة استعلامات قواعد البيانات لديك. 1 اقتباس
السؤال
Emad Saif
لدي مشروع لارافيل Laravel كبير نوعًا، واريد أن أقوم بتخزين كل إستعلامات SQL التي تتم في التطبيق لكي أقوم بتحليلها ومحاولة تحسينها أكثر.
هل يوفر لارافيل Laravel إمكانية للقيام بهذا الأمر؟ أو هل توجد حزمة تساعد على تخزين إستعلامات SQL التي يتم تنفيذها في التطبيق؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.