Nouveautés de DataGrip 2024.1

DataGrip 2024.1 est là ! Cette première mise à jour majeure de 2024 regorge d'améliorations. Passons en revue les nouvelles fonctionnalités et mises à jour de cette version !

AI Assistant : possibilité d'attacher des schémas DataGrip uniquement

L'AI Assistant vous permet maintenant d'améliorer la qualité des requêtes SQL générées en attachant un schéma de base de données pour ajouter du contexte au chat. Pour l'instant, seuls les noms de table et de colonne sont attachés et la limite est fixée à 50 tables.

Pour utiliser cette fonctionnalité, vous devez autoriser l'AI Assistant à rechercher des objets de base de données dans votre projet.

Vous pouvez le faire à chaque fois que vous attachez un nouveau schéma ou simplement cocher l'option Attach Schema dans la fenêtre contextuelle pour que l'AI Assistant mémorise votre choix. Dans ce cas, le paramètre Enable database context sera activé automatiquement :

Important : si le paramètre Enable database context est coché, l'AI Assistant aura accès à tous les noms d'objet de toutes les sources de données.

Les fonctionnalités du menu contextuel de l'éditeur telles que Explain Code sont désormais capables de comprendre le schéma actuel lorsqu'elles sont appelées depuis les consoles de bases de données.

Comme l'AI Assistant tient compte de votre schéma, vous pouvez :

  • Générer des requêtes à partir de demandes en langage naturel :
  • Obtenir des informations sur vos schémas :
  • Effectuer des recherches avancées :

Et ce n'est qu'un aperçu de ce que vous pouvez faire. Les possibilités sont infinies !

Travailler avec les données

Filtre local dans l'éditeur de données

Une fonctionnalité très attendue est enfin disponible : vous pouvez désormais filtrer les lignes selon les valeurs des colonnes.

Cette méthode est rapide, car elle n'implique pas d'envoi de requête à la base de données. Veuillez toutefois noter que le filtre s'applique uniquement à la page en cours. Si vous voulez filtrer davantage d'informations, vous pouvez simplement modifier la taille de la page ou récupérer toutes les données.

Vous pouvez désactiver tous les filtres locaux pour l'éditeur de données actuel en désélectionnant le bouton Enable Local Filter Local Filter icon.

N'oubliez pas pour autant la fonction de recherche de texte locale (Ctrl/Cmd+F) ! Elle est toujours là et peut vous être utile dans les cas où vous avez une idée de l'emplacement des données que vous recherchez.

Vue d'un seul enregistrement

Vous avez désormais la possibilité de vous focaliser sur un seul enregistrement dans l'éditeur de données. Pour afficher une vue d'enregistrement, utilisez le raccourci Ctrl/Cmd+Maj+Entrée ou le bouton Record View Show Record View icon de la barre d'outils.

Les cellules de la vue d'enregistrement seront modifiables si elles le sont dans la grille principale.

Vous pouvez également modifier la disposition pour avoir deux colonnes si cela correspond à vos cas d'utilisation :

Possibilité de déplacer des colonnes dans les fichiers CSV

À partir de la version 2024.1, vous pouvez déplacer les colonnes d'un fichier CSV dans l'éditeur de données et les changements seront appliqués au fichier.

Plus de fonctionnalités pour les UUID

En réponse à plusieurs demandes reçues via notre outil de suivi des tickets, cette version facilite le travail avec les UUID :

  • Nous avons ajouté une nouvelle action Generate UUID.
  • Il est désormais possible de modifier toutes les colonnes contenant des UUID, y compris celles qui sont représentées par binary(16), blob(16) et des types similaires.
  • Les valeurs des colonnes d'UUID peuvent maintenant être validées durant l'édition. PostgreSQL

Simplification des sessions

Au fil des dernières années, nous avons eu de très nombreux retours d'utilisateurs qui ne comprenaient pas le concept des sessions et trouvaient que cette fonctionnalité compliquait considérablement l'apprentissage de DataGrip. En voici quelques exemples :

Le modèle qui nécessite de créer un projet et de lancer des sessions distinctes dans la console est trop compliqué. L'ouverture et l'exécution d'un simple fichier SQL sont particulièrement pénibles. Pour simplement ouvrir et exécuter un script, je dois créer un projet, ajouter le fichier au projet, puis ouvrir une console, puis ouvrir une session et enfin attacher le fichier à la session. C'est vraiment trop.
Ayant utilisé précédemment SQL Server Management Studio, l'interface utilisateur de DataGrip me paraît beaucoup plus complexe. Dans SSMS, on a juste des serveurs, des requêtes et des résultats. Dans DataGrip, il y a des sessions, des consoles, des fichiers scratch, etc., etc., ce qui rend cet outil bien moins intuitif pour les nouveaux utilisateurs.
Certains aspects du fonctionnement de l'interface utilisateur sont lourds et compliqués. Je ne comprends pas vraiment pourquoi il faut sélectionner une console pour exécuter un script, ni quelles sont les ramifications de la sélection. Cela ne devrait vraiment pas être le comportement par défaut.

Dans DataGrip, « session » est un terme technique qui désigne le conteneur d'une connexion. En d'autres termes, les connexions peuvent être établies, arrêtées et rétablies dans une même session. Pour toute connexion, il y a une session.

La possibilité d'attacher des sessions est un mécanisme puissant, mais dans la majorité des cas, les utilisateurs doivent simplement définir le contexte (source de données et base de données ou schéma) d'exécution des requêtes.

À compter de la version 2024.1, les utilisateurs n'ont plus besoin de choisir manuellement dans quelle session exécuter les requêtes, et ce, quel que soit le type de requête. Les sessions existent toujours, mais vous n'aurez plus à vous en préoccuper. Voyons plus en détail quelles sont les conséquences de ce changement sur les principaux cas d'utilisation de DataGrip.

Attacher et changer de source de données

Pour joindre un fichier, il vous suffit maintenant de choisir la source de données plutôt que la session. Une fois la source de données sélectionnée, vous choisissez le schéma.

Changement de session

L'action Switch Session s'affiche désormais uniquement dans le menu contextuel du client, situé dans la fenêtre d'outils Services. Elle vous permet de changer de session uniquement dans la source de données actuelle.

Exécution de fonctions

Il n'est plus nécessaire de sélectionner une session avant de lancer une fonction. Dans la fenêtre Execute Routine, l'option Run from vous permet de sélectionner la console ou le fichier d'où la fonction sera lancée.

Travailler avec le code

Style de code aligné pour les instructions INSERT multilignes

Vous pouvez désormais formater les instructions INSERT multilignes afin que leurs valeurs soient alignées. Le formateur va analyser la largeur des valeurs dans chaque colonne et appliquer les largeurs optimales.

Pour utiliser cette fonctionnalité, activez l'option Align multi-row VALUES :

DataGrip est aussi capable de gérer les situations dans lesquelles certaines valeurs sont plus longues que d'autres. Le formateur détecte ces valeurs et crée des exceptions pour elles, déplaçant les champs restants vers la ligne suivante.

Ce comportement est géré par ces trois options :

Complétion de colonne pour les clauses GROUP BY

DataGrip analyse désormais les agrégats utilisés dans les clauses SELECT et inclut les listes de colonnes appropriées dans les suggestions de clauses GROUP BY.

Avertissement pour les clauses WHERE TRUE

Notre avertissement Unsafe query vous prévient désormais si vous exécutez une requête avec la condition WHERE TRUE ou l'une de ses variations. Cela peut vraiment vous sauver la mise si vous aimez utiliser cette clause pour le débogage mais oubliez parfois de la modifier !

Symboles personnalisés pour accepter les suggestions

Nous avons ajouté la possibilité de spécifier quels symboles utiliser pour accepter les suggestions de saisie semi-automatique, ce qui permet d'écrire du SQL encore plus rapidement. Pour l'utiliser, il y a deux options à activer. Celle-ci :

Et celle-là :

Cette fonctionnalité peut être particulièrement utile lors de l'utilisation d'opérateurs :

Lignes épinglées dans l'éditeur

Pour simplifier le travail avec des fichiers volumineux, nous inaugurons la fonctionnalité de lignes épinglées dans l'éditeur. Cette fonctionnalité conserve des éléments structurels clés, tels que les instructions CREATE, épinglés en haut de l'éditeur pendant que vous faites défiler l'écran. Le contexte reste ainsi toujours visible et vous pouvez naviguer rapidement dans le code en cliquant sur une ligne épinglée.

Cette fonctionnalité est activée par défaut. Vous pouvez la désactiver via la case à cocher Settings/Preferences | Editor | General | Appearance, qui permet également de définir le nombre maximum de lignes épinglées.

Autres améliorations

Prise en charge des commandes des modules de Redis Stack Redis

DataGrip prend désormais en charge les commandes des quatre principaux modules de Redis Stack : RedisJSON, RediSearch, RedisBloom et RedisTimeSeries. Cette prise en charge nécessite aussi la nouvelle version du pilote : v1.5. Le module RedisGraph est obsolète et ne sera plus pris en charge. La prise en charge du module présente les avantages suivants :

  • Vous pouvez envoyer des commandes depuis ces modules et voir les résultats.
  • Les commandes de ces modules sont mises en évidence correctement.
  • Les clés des types fournis par ces modules s'affichent dans l'explorateur de base de données.

Documents JSON

Les documents JSON s'affichent désormais dans un dossier dédié. Vous pouvez consulter leurs valeurs dans le visualiseur de données et spécifier le chemin JSON.

Autres types de données

Les clés des types fournis par les modules RedisTimeSeries et RedisBloom s'affichent dans le dossier data structures.

Prise en charge des bases de données externes partagées via des catalogues de données Amazon Redshift

Les bases de données externes partagées via des catalogues de données ne sont pas prises en charge. Leur contenu fait désormais l'objet d'une introspection et la saisie semi-automatique s'y applique.