DataGrip 2024.1 est disponible :
Aper�u des am�liorations de l'EDI de JetBrains pour les d�veloppeurs SQL

JetBrains annonce la sortie de DataGrip 2024.1. Il s'agit de la premi�re mise � jour majeure de 2024 pour son EDI destin� aux administrateurs de bases de donn�es et d�veloppeurs SQL. Cette version apporte un bon lot de nouveaut�s et am�liorations dans divers domaines. Nous les pr�sentons dans la suite avec plus de d�tails.

AI Assistant : possibilit� d'attacher des sch�mas (DataGrip uniquement)

L'AI Assistant permet d'am�liorer la qualit� des requ�tes SQL g�n�r�es en attachant un sch�ma de base de donn�es pour donner 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 faire cela � chaque fois que vous attachez un nouveau sch�ma, ou simplement cocher l'option Attach Schema dans la fen�tre contextuelle pour autoriser l'AI Assistant � m�moriser votre choix. Dans ce cas, le param�tre Enable database context est activ� automatiquement.

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


Les fonctionnalit�s accessibles depuis un menu contextuel dans l'�diteur, telles que Explain Code, comprennent d�sormais le sch�ma actif lorsqu'il est appel� depuis les consoles de base de donn�es.

Parce que 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.
  • R�aliser des recherches pouss�es.

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

Travailler avec des 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. Toutefois, il est utile de noter que le filtre affecte uniquement la page active. Par cons�quent, si vous voulez filtrer davantage d'informations, vous pouvez simplement agrandir la page ou r�cup�rer toutes les donn�es.


Si vous souhaitez d�sactiver l'ensemble des filtres locaux pour l'�diteur de donn�es actuel, d�sactivez le bouton Enable Local Filter.

N'oubliez pas non plus la fonctionnalit� locale de recherche de texte (Ctrl/Cmd+F) ! Elle existe depuis des d�cennies et reste toujours d'actualit�, surtout si vous avez une id�e de l'emplacement des donn�es que vous recherchez.

Affichage d'un seul enregistrement

Il est d�sormais possible de se focaliser sur un seul enregistrement dans l'�diteur de donn�es. Pour afficher un enregistrement sp�cifique, utilisez le raccourci Ctrl/Cmd+Maj+Entr�e ou le bouton Show Record View de la barre d'outils.


Les cellules de l'affichage d'enregistrement unique restent modifiables si elles le sont d�j� dans la grille principale.

Vous pouvez �galement modifier la disposition pour utiliser 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 appliquer ce changement au fichier.


Plus de fonctionnalit�s pour les UUID

En r�ponse � plusieurs tickets de son outil de suivi, JetBrains a facilit� l'utilisation des UUID :

  • JetBrains a ajout� la nouvelle action : Generate UUID.
  • Il est d�sormais possible de modifier toutes les colonnes des UUID, y compris celles qui sont repr�sent�es par les types binary(16), blob(16) et similaires.
  • Les valeurs des colonnes d'UUID peuvent d�sormais �tre valid�es en cours de modification (PostgreSQL).

Simplification des sessions

Au fil des derni�res ann�es, JetBrains a 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 ax� sur le projet et s�parant la console et la session est vraiment trop lourd. 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. SSMS peut se r�sumer � des serveurs, des requ�tes et des r�sultats. Dans DataGrip, il y a des sessions, des consoles, des fichiers temporaires, etc., etc., ce qui rend cet outil bien moins intuitif pour les nouveaux utilisateurs.
L'interface para�t parfois lourde et difficile � comprendre. 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 la 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, quel que soit le type de requ�te. Les sessions existent toujours, mais vous n'aurez plus � vous en pr�occuper. Nous allons voir plus en d�tail comment cette modification affecte les principaux cas d'utilisation de DataGrip.

Attachement et changement de sources 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 la session uniquement dans la source de donn�es active.

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 devant servir au lancement de la fonction.

Travailler avec du code

Style de code align� pour les instructions INSERT sur plusieurs lignes

Vous pouvez d�sormais formater les instructions INSERT sur plusieurs lignes 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 o� certaines valeurs sont plus longues que d'autres. Le formateur d�tecte ces valeurs et cr�e des exceptions pour elles, puis d�place les champs restants sur la ligne suivante.

Saisie semi-automatique de la 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

JetBrains a �largi son avertissement Unsafe query. Il 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 �tre vital si vous aimez utiliser cette clause pour le d�bogage, mais oubliez parfois de la modifier.

Symboles personnalis�s pour accepter les suggestions

JetBrains a ajout� la possibilit� de sp�cifier quels symboles utiliser pour accepter les suggestions de saisie semi-automatique, vous permettant ainsi d'�crire du SQL encore plus rapidement.

Cette fonctionnalit� peut �tre particuli�rement utile lors de l'utilisation d'op�rateurs.


Lignes �pingl�es dans l'�diteur

Pour simplifier l'utilisation de fichiers volumineux, DataGrip 2024.1 inaugure les 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 afficher leur valeur dans le visualiseur de donn�es, puis 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 y est disponible.

Nouveaut�s et t�l�chargement de DataGrip 2024.1