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 !
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 :
Et ce n'est qu'un aperçu de ce que vous pouvez faire. Les possibilités sont infinies !
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 .
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.
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 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 :
À 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.
En réponse à plusieurs demandes reçues via notre outil de suivi des tickets, cette version facilite le travail avec les UUID :
binary(16)
, blob(16)
et des types similaires.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.
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.
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.
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.
INSERT
multilignesVous 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 :
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
.
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 !
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 :
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.
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 :
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.
Les clés des types fournis par les modules RedisTimeSeries et RedisBloom s'affichent dans le dossier data structures
.
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.