استخدم GitHub Copilot لإنشاء وتحسين واستعلامات SQL وحل المشكلات

مكتمل

يمكن استخدام GitHub Copilot مع إضافة PostgreSQL في كود Visual Studio لأداء مهام تطوير قواعد البيانات الشائعة. من خلال العمل على سيناريوهات عملية، يستخدم المطورون Copilot Chat لتوليد استعلامات SQL وإجراء تغييرات في المخطط، ثم مراجعة وتنفيذ النتائج باستخدام محرر استفسارات PostgreSQL.

فكر في سيناريو سفر مارجي. يخزن التطبيق قوائم العقارات وتقييمات العملاء في PostgreSQL. يستخدم المطورون Copilot Chat لتسريع مهام مثل كتابة استعلامات SQL وتعديل الجداول مع الحفاظ على التحكم فيما يتم تنفيذه.

إنشاء استعلام SQL باستخدام Copilot Chat

غالبا ما يبدأ المطورون بطلب المساعدة من Copilot في كتابة استعلام SQL. بعد فتح الدردشة مع هذه قاعدة البيانات، يوجهون طلبهم إلى سياق PostgreSQL باستخدام المشارك @pgsql .

على سبيل المثال، قد يدخل المطور التعليمات التالية:

@pgsql I need help writing a SQL query to list recent reviews for each property, including the rating and review date

يرد Copilot باستعلام SQL مقترح يعكس الجداول والأعمدة في قاعدة البيانات المتصلة. يقوم المطور بمراجعة SQL المولدة ويشغلها في محرر استفسارات PostgreSQL للتحقق من النتائج.

يساعد هذا النهج المطورين على الانتقال بسرعة من متطلب إلى استعلام عملي، مع الاستمرار في مراجعة SQL قبل التنفيذ.

تعديل جدول مع تأكيد

بالإضافة إلى استعلام البيانات، يمكن ل Copilot Chat المساعدة في تغييرات المخطط. عندما يتضمن الإشعار تعديل كائنات قاعدة البيانات، يطلب Copilot تأكيدا صريحا قبل إجراء أي تغييرات.

على سبيل المثال، قد يشارك مطور في Margie's Travel على:

@pgsql convert the listings table to store amenities in a JSONB column

يرد Copilot بعبارات SQL تصف تغيير المخطط ويطلب الإذن بالمضي قدما. بعد مراجعة SQL، يؤكد المطور التنفيذ:

@pgsql Yes, please make the JSONB column for me
@pgsql Yes, I confirm

فقط بعد التأكيد يطبق Copilot التغيير. يضمن هذا السير أن تعديلات المخطط تكون مقصودة وتمت مراجعتها.

معالجة مشاكل الاستعلام باستخدام Copilot Chat

يمكن لدردشة Copilot أيضا المساعدة عندما ينتج استعلام SQL خطأ أو نتائج غير متوقعة. يصف المطورون المشكلة مباشرة في الدردشة ويراجعون الإرشادات المقترحة.

على سبيل المثال، قد يدخل المطور:

@pgsql I'm getting this error: 'ERROR: column orders.total_price must appear in the GROUP BY clause or be used in an aggregate function.'

يرد Copilot بإرشادات واقتراحات تعديلات على SQL. يقوم المطور بمراجعة الاقتراح، وتحديث استعلام SQL في المحرر، ويعيد تشغيله للتأكد من حل المشكلة.

مراجعة والتحقق من النتائج

يقوم كوبايلوت بتوليد استعلامات وشروحات SQL في نافذة دردشة كوبايلوت. يقوم المطورون بمراجعة SQL المولدة في الدردشة قبل تشغيلها.

بعد تنفيذ SQL باستخدام امتداد PostgreSQL، يقوم المطورون بمراجعة النتائج في كود Visual Studio للتأكد من أن الاستعلام يتصرف كما هو متوقع.

في Margie's Travel، يستخدم المطورون هذه الخطوة للتحقق من أن استعلامات SQL التي يولدها Copilot تعيد البيانات المقصودة.

استخدم Copilot Chat للتحسين وسيناريوهات التطبيق

يمكن أيضا استخدام Copilot Chat للمساعدة في سيناريوهات أكثر تقدما، مثل تحسين الاستعلامات، تحسين الأداء، أو دعم تطوير التطبيقات. يصف المطورون المشكلة التي يحاولون حلها، ويرد Copilot بإرشادات أو أمثلة على SQL يمكن مراجعتها وتكييفها.

يرد كوبايلوت باقتراحات على استعلام SQL، مثل تعديل الروابط أو الفلاتر أو بنية الاستعلام. يقوم المطور بمراجعة الرد في نافذة دردشة Copilot، ويطبق التغييرات ذات الصلة، ثم يشغل الاستعلام المحدث باستخدام إضافة PostgreSQL.

على سبيل المثال، في Margie's Travel قد يطلب المطور من Copilot Chat المساعدة في تحسين استعلام يسترجع قوائم العقارات مع تقييمات العملاء. يمكن للمطور أن يصف أن الاستعلام بطيء عند التصفية حسب تاريخ المراجعة والتقييم، أو أنه يحتاج إلى دعم ميزة تطبيق تعرض المراجعات الحديثة لكل إعلان. يمكن للمطور أيضا أن يطلب من Copilot اقتراح استراتيجيات فهرسة لتحسين أداء الاستعلامات. أو قد يكون الطلب أكثر تعقيدا، مثل طلب copilot لإنشاء دالة بايثون تتصل بقاعدة البيانات وتسترجع القوائم مع المراجعات. السماء هي الحد الأقصى لما يمكن لمساعد الطيار أن يساعد فيه!

ما تعلمته

تعلمت كيف يمكن تطبيق GitHub Copilot باستخدام إضافة PostgreSQL في كود Visual Studio. رأيت كيف يستخدم Copilot Chat لإنشاء استعلامات SQL، وتعديل مخططات قواعد البيانات مع التأكيد، ومعالجة مشاكل الاستعلام، ثم مراجعة وتنفيذ النتائج في محرر استفسارات PostgreSQL.