Utiliser GitHub Copilot pour générer, affiner et dépanner des requêtes SQL

Effectué

GitHub Copilot peut être utilisé avec l’extension PostgreSQL dans Visual Studio Code pour effectuer des tâches courantes de développement de base de données. En travaillant dans des scénarios pratiques, les développeurs utilisent Copilot Chat pour générer des requêtes SQL et apporter des modifications de schéma, puis examiner et exécuter les résultats à l’aide de l’éditeur de requête PostgreSQL.

Considérez le scénario de voyage de Margie. L’application stocke les listes de propriétés et les avis des clients dans PostgreSQL. Les développeurs utilisent Copilot Chat pour accélérer les tâches telles que l’écriture de requêtes SQL et la modification de tables tout en restant dans le contrôle de ce qui est exécuté.

Générer une requête SQL à l’aide de Copilot Chat

Les développeurs commencent souvent par demander à Copilot d’obtenir de l’aide pour écrire une requête SQL. Après avoir ouvert Chat avec cette base de données, ils dirigent leur requête vers le contexte PostgreSQL à l’aide du @pgsql participant.

Par exemple, un développeur peut saisir l’invite suivante :

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

Copilot répond avec une requête SQL suggérée qui reflète les tables et colonnes de la base de données connectée. Le développeur examine le sql généré et l’exécute dans l’éditeur de requête PostgreSQL pour vérifier les résultats.

Cette approche permet aux développeurs de passer rapidement d’une exigence à une requête opérationnelle, tout en examinant toujours le sql avant l’exécution.

Modifier une table avec confirmation

En plus d’interroger des données, Copilot Chat peut aider à modifier le schéma. Lorsqu’une invite implique la modification d’objets de base de données, Copilot demande une confirmation explicite avant d’apporter des modifications.

Par exemple, un développeur chez Margie’s Travel peut entrer :

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

Copilot répond avec des instructions SQL qui décrivent la modification du schéma et demandent l’autorisation de continuer. Après avoir examiné le code SQL, le développeur confirme l’exécution :

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

Une fois la confirmation effectuée, Copilot applique la modification. Ce flux de travail garantit que les modifications de schéma sont intentionnelles et examinées.

Résoudre les problèmes de requête à l’aide de Copilot Chat

Copilot Chat peut également vous aider lorsqu’une requête SQL génère une erreur ou des résultats inattendus. Les développeurs décrivent le problème directement dans Chat et passent en revue les conseils suggérés.

Par exemple, un développeur peut entrer :

@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 répond avec des conseils et des ajustements SQL suggérés. Le développeur passe en revue la suggestion, met à jour la requête SQL dans l’éditeur et le réexécuter pour confirmer que le problème est résolu.

Examiner et valider les résultats

Copilot génère des requêtes et des explications SQL dans la fenêtre Conversation Copilot. Les développeurs passent en revue le SQL généré dans Conversation avant de l’exécuter.

Après avoir exécuté le code SQL à l’aide de l’extension PostgreSQL, les développeurs passent en revue les résultats dans Visual Studio Code pour vérifier que la requête se comporte comme prévu.

Dans Margie’s Travel, les développeurs utilisent cette étape de révision pour vérifier que les requêtes SQL générées par Copilot retournent les données prévues.

Utiliser Copilot Chat pour les scénarios d’optimisation et d’application

Copilot Chat peut également être utilisé pour faciliter les scénarios plus avancés, tels que l’affinement des requêtes, l’amélioration des performances ou la prise en charge du développement d’applications. Les développeurs décrivent le problème qu’ils tentent de résoudre, et Copilot répond avec des conseils ou des exemples DE SQL qui peuvent être examinés et adaptés.

Copilot répond avec des modifications suggérées à la requête SQL, telles que l’ajustement de jointures, de filtres ou de structure de requête. Le développeur passe en revue la réponse dans la fenêtre Conversation Copilot, applique les modifications pertinentes, puis exécute la requête mise à jour à l’aide de l’extension PostgreSQL.

Par exemple, chez Margie’s Travel, un développeur peut demander à Copilot Chat d’améliorer une requête qui récupère les listes de propriétés ainsi que les avis des clients. Le développeur peut décrire que la requête est lente lors du filtrage par date de révision et par note, ou qu'elle doit prendre en charge une fonctionnalité d'application qui affiche les avis récents pour chaque annonce. Le développeur peut également demander au copilote de suggérer des stratégies d’indexation pour améliorer les performances des requêtes. Ou la demande peut être plus complexe, par exemple demander à copilot de créer une fonction Python qui se connecte à la base de données et récupère des listes avec des révisions. Le ciel est la limite de ce que copilote peut aider avec !

Ce que vous avez appris

Vous avez appris comment GitHub Copilot peut être appliqué avec l’extension PostgreSQL dans Visual Studio Code. Vous avez vu comment Copilot Chat est utilisé pour générer des requêtes SQL, modifier des schémas de base de données avec confirmation et résoudre les problèmes de requête, suivi de l’examen et de l’exécution des résultats dans l’éditeur de requête PostgreSQL.