DataGrip 2022.3 est disponible
Aperçu des évolutions et améliorations de l'EDI de JetBrains pour les développeurs SQL

JetBrains annonce la sortie de DataGrip 2022.3. Il s'agit de la troisième mise à jour majeure de 2022 pour son EDI destiné aux administrateurs de bases de données et développeurs SQL. Cette version vient avec de nombreuses améliorations, y compris la prise en charge de Redis, une nouvelle interface utilisateur, une solution remaniée pour synchroniser les paramètres de votre EDI, et bien plus. Nous vous présentons ici les principales nouveautés et améliorations de DataGrip 2022.3.

Général

Prise en charge de Redis

JetBrains a implémenté la tant attendue prise en charge de Redis. Vous pouvez désormais vous connecter à Redis Single Instance, explorer les valeurs clés dans Data Viewer, écrire et exécuter des requêtes Redis à l'aide de notre assistance au codage intelligente, et plus encore.

Voici un aperçu de son contenu :

  • Connectivité : Redis Single Instance.
  • Introspection : introspection des bases de données et des clés, notamment la possibilité de configurer un filtre de clé par défaut pour l'outil d'introspection.
  • Explorateur de bases de données : dossiers séparés pour les clés de différents types pour Redis v6.0 et les versions ultérieures, et un dossier avec toutes les clés pour les versions plus anciennes.
  • Exécution de requêtes : le pilote JDBC prend en charge l'exécution de la majorité des requêtes.
  • Assistance au codage : mise en évidence du code, saisie semi-automatique des mots-clés et résolution des bases de données et des clés.
  • Editeur d'objets : renommage et suppression de clés.
  • Visionneuse de données : filtrage et mise en évidence du code JSON.

Nouvelle interface utilisateur disponible dans les paramètres

En mai dernier, JetBrains a annoncé un programme de preview fermé pour la nouvelle interface utilisateur des EDI basés sur IntelliJ. DataGrip n'y fait pas exception.

Avec cette première étape, JetBrains voulait présenter l'apparence et l'ergonomie remaniées de ses produits à un nombre limité d'utilisateurs. Le programme de preview a permis de collecter et de traiter un grand nombre de commentaires utiles, et JetBrains dit être maintenant en mesure d'inviter tout le monde à essayer la nouvelle interface utilisateur.

Vous pouvez basculer sur la nouvelle interface dans Settings / Preferences | Appearance & Behavior | New UI Preview, la tester et faire part de votre avis à JetBrains.


L'éditeur de logiciels pour développeurs cherche toujours à améliorer la pertinence de la nouvelle interface utilisateur pour DataGrip. Par exemple, vous n'avez probablement pas besoin du bouton bleu vif dans DataGrip pour créer une configuration d'exécution, une action extrêmement importante dans d'autres EDI. Si vous avez des idées pour personnaliser la barre d'outils supérieure, n'hésitez donc pas à les partager avec JetBrains.

Nouvelle solution Settings Sync

Dans cette version, JetBrains a introduit une solution remaniée pour synchroniser les paramètres de votre EDI. Elle est implémentée à l'aide d'un plugin qui est intégré par défaut. La nouvelle option Settings Sync s'affichera dans les paramètres.

JetBrains avait auparavant deux plugins indépendants pour la synchronisation des paramètres : EDI Settings Sync et Settings Repository. Si vous utilisiez IDE Settings Sync, vos données seront automatiquement migrées vers le nouveau plugin, vous n'aurez donc aucune mesure à prendre. Si vous êtes adepte de Settings Repository, il est conseillé de continuer à utiliser votre configuration actuelle, car la migration est toujours en cours. Vous recevrez une notification dans l'EDI lorsque la fonctionnalité sera prête.

Les paramètres sont stockés dans le cloud associé à votre compte JetBrains Account. Si vous utilisez plusieurs EDI basés sur IntelliJ associés au même compte JetBrains Account, vos paramètres seront automatiquement synchronisés.

Il y a toutefois un problème connu. La section Database des Settings ne peut pas être synchronisée actuellement. Cette fonctionnalité arrivera prochainement dans l’une des mises à jour mineures de la version 2022.3. Veuillez aussi noter que les sources de données ne font pas partie des paramètres.

Vues virtuelles

Ce nouveau concept est également virtuel et vous permet d'utiliser des vues sans les créer réellement dans votre base de données. En fait, il s'agit simplement d'une requête qui récupère le résultat et qui est stockée dans DataGrip.


Les vues virtuelles sont visibles dans l'explorateur de base de données et peuvent être exécutées à l'aide d'un double-clic.

Veuillez noter que l'utilisation de vues virtuelles dans votre code SQL n'est pas possible actuellement.

Navigation dans les diagrammes

Les éléments de diagramme sont désormais entièrement navigables. Toutes les principales actions de navigation peuvent y être effectuées :

  • Ouvrir DDL : Ctrl/Cmd+B
  • Ouvrir les données : F4
  • Sélectionner dans l'explorateur de base de données : Alt/Opt+Maj+B
  • Modifier : Cmd/Ctrl+F6

Explorateur de bases de données

Filtre rapide

Une autre fonctionnalité très attendue est enfin disponible. Désormais, lorsque vous utilisez la recherche rapide, vous avez également la possibilité de filtrer les objets. Tous les objets ne correspondant pas au filtre seront masqués.


Filtrage de schémas basé sur des motifs récurrents

Si vous avez beaucoup de schémas différents, vous apprécierez cette amélioration. Il est maintenant possible de choisir des bases de données ou des schémas pour l'introspection en se basant sur des expressions régulières. Pour cela, cliquez sur Add Pattern et définissez une expression régulière dans le nouveau nœud. Les bases de données/schémas seront choisis en fonction de ce motif.

L'ajout de plusieurs motifs les combinera, mais ne créera pas d'intersection entre eux.

Le nœud All se comporte désormais différemment des versions précédentes : il ne sélectionne pas automatiquement le schéma par défaut. Vous devez maintenant choisir entre All schemas, Default schema, ou l'application d'un filtre regexp.

Couleurs pour les sources de données globales

Si vous définissez la couleur de la source de données globale, elle est maintenant partagée en même temps que sa source de données.

Glisser-déposer pour les fichiers de script

Pour exécuter un script par rapport à n'importe quel schéma, il vous suffit désormais de glisser-déposer votre fichier de script à partir de la fenêtre d'outil Files.


Éditeur de données

Formats pour les types de données de date et d'heure

Il est désormais possible de personnaliser l'affichage des champs de type date et heure dans l'éditeur de données. Les paramètres sont situés dans Database | Data Editor and Viewer.

Cette fonctionnalité est désormais disponible pour trois types de champs : Datetime/timestamp (avec ou sans fuseau horaire), Time (avec ou sans fuseau horaire) et Date.

Nouvel extracteur : clause WHERE

Il est désormais possible d'extraire une plage de valeurs sélectionnée dans le cadre de la clause WHERE :

  • Les valeurs d'une même colonne sont combinées à l'aide de l'opérateur OR.
  • Les valeurs d'une même ligne sont combinées à l'aide de l'opérateur AND.
  • Si les valeurs d'une même colonne sont extraites, elles sont combinées à l'aide de l'opérateur IN.


Filtrage SQL par valeurs multiples

L'action Filter by génère désormais une condition si vous sélectionnez plusieurs valeurs.


Champ de recherche textuel : remplir avec la sélection

Si vous appuyez sur Ctrl/Cmd+F pour une recherche de texte, les champs de recherche seront automatiquement remplis avec la valeur située sous le curseur. C'est un fonctionnement similaire à la logique bien connue de l'éditeur de texte.


Les valeurs des structs s'affichent correctement (Big Query)

Les valeurs des structs s'affichent désormais de manière lisible : chaque valeur imbriquée apparaît dans une colonne distincte.

Travailler avec du code

Aperçu des actions d'intention

Vous pouvez maintenant voir instantanément les modifications de votre requête une fois que vous aurez appliqué les suggestions de l'EDI. L'aperçu s'affiche lorsque vous ouvrez la liste des actions d'intention disponibles et que vous survolez une option. Vous pouvez activer ou désactiver la fonctionnalité d'aperçu en appuyant sur F1/Ctrl+Q lorsque la liste des actions d'intention est ouverte.


Copier-coller une seule ligne

En l'absence de sélection, appuyer sur Ctrl/Cmd+C sélectionne et copie automatiquement la ligne entière dans l'éditeur de texte. Il s'agissait déjà du fonctionnement antérieur, mais JetBrains a maintenant complètement finalisé cette action en facilitant le collage de la ligne également. Cette ligne copiée sera collée sous forme de nouvelle ligne avec un retour à la ligne en l'absence de sélection.

Nouvelle disposition pour le générateur de schémas SQL : Per Object By Schema and Type

La nouvelle disposition s'appelle Per Object By Schema and Type. Si elle est utilisée pour générer du SQL pour l'ensemble du schéma, les fichiers en résultant seront placés dans des dossiers en fonction du type d'objet : tables, vues, etc.

Correctifs

  • Oracle : SET ROW est maintenant pris en charge.
  • SQL Server : $PARTITION est maintenant pris en charge.

Travailler avec des tables

Interface utilisateur pour les clés étrangères virtuelles

La possibilité de créer des clés étrangères virtuelles a été introduite il y a quelque temps. Elles servent principalement pour les points suivants :

  • Saisie semi-automatique du code de la clause JOIN.
  • Affichage des relations virtuelles dans les diagrammes.
  • Navigation par relations de données dans l'éditeur de données.


La principale façon de les créer est d'utiliser l'action d'intention Store Relation dans la clause JOIN de votre requête. C'était un peu difficile à trouver, et l'ensemble de la fonctionnalité manquait d'intuitivité. JetBrains a alors modifié plusieurs choses.

Taille des tables dans la documentation rapide MySQL PostgreSQL

La taille des tables s'affiche à présent dans la fenêtre contextuelle de documentation rapide pour MySQL et PostgreSQL. Pour la voir, cliquez sur Show table preview.

Connectivité

Script de démarrage pour les modèles de session

Il est maintenant possible de définir le script de démarrage pour les modèles de session. Le script sera exécuté à chaque fois qu'une nouvelle session sera créée sur la base du modèle correspondant. Il permet par exemple à DataGrip d'exécuter l'instruction use secondary roles all pour l'introspection dans Snowflake.


Options d'authentification (MongoDB)

JetBrains a ajouté de nombreux mécanismes d'authentification à la boîte de dialogue de connexion pour MongoDB. Pour les utiliser, mettez à jour votre pilote à la version 1.16.

Visualiseur des différences de schémas

Prise en charge des dépendances d'objets

Le visualiseur des différences de schémas prend désormais en compte les objets dépendants. Les plus importantes d'entre eux sont les colonnes d'identité PostgreSQL. Si les séquences associées sont différentes pour deux colonnes d'identité par ailleurs identiques, cette différence s'affichera lors de la comparaison des deux colonnes.


Autre exemple : un déclencheur appelant une procédure d'un autre schéma. Maintenant, la différence entre ces déclencheurs s'affichera si les noms des routines sont différents.


Il reste deux limitations majeures connues que JetBrains mentionne à propos de la visionneuse des différences de schémas :

  • Si une routine/vue fait référence à un objet depuis son corps, l'ordre correct des scripts n'est pas garanti. Par exemple, si une routine appelle une autre routine, il n'est pas garanti que cette dernière sera créée avant la première.
  • Dans certains cas, la qualification des objets n'est pas correcte à l'intérieur du corps des objets sources, des expressions par défaut, etc.

Nouveautés et téléchargement de la version 2022.3 de DataGrip