DataGrip 2022.2 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.2. Il s'agit de la seconde mise à jour majeure de 2022 pour son EDI destiné aux administrateurs de bases de données et développeurs SQL. JetBrains continue dans la même lancée que la version 2022.1, avec de nombreuses améliorations que nous vous présentons ici.

Possibilité d'importer plusieurs fichiers CSV

JetBrains a amélioré le processus d'importation de fichiers en permettant de sélectionner plusieurs fichiers CSV et de les importer en même temps.


Modes de résolution Playground et Script

Pour résoudre les objets de base de données dans les scripts SQL, DataGrip doit comprendre la signification des objets. L'EDI peut ainsi fournir une saisie semi-automatique du code pertinente et traiter les utilisations des objets comme des liens.

En général, le contexte de résolution doit correspondre au contexte d'exécution, mais ce n'est pas facile à gérer pour DataGrip. C'est pourquoi, jusqu’à récemment, il existait plusieurs problèmes liés à la résolution. Voici quelques exemples de ce qu'il pouvait se passer :

  • Tous les objets étaient résolus, mais le script ne pouvait pas être exécuté dans la base de données.
  • Lorsque l'option Auto-qualify était activée, les objets restaient parfois non qualifiés s'ils se trouvaient dans la base de données ou le schéma par défaut.
  • Si plusieurs objets avaient le même nom dans des bases de données ou des schémas différents, les colonnes existantes n'étaient pas résolues et l'action Expand column list générait parfois la mauvaise liste. Dans le même temps, il y avait aussi un risque de résoudre des colonnes non existantes.

La cause de ces problèmes était que, pour chaque console ou fichier local, DataGrip résolvait les objets en fonction du contexte sélectionné dans le menu déroulant en haut à droite et de la base de données ou du schéma par défaut (ou de l'entrée du paramètre SQL Resolution scopes).

Cela convenait pour travailler avec des scripts contenant des instructions USE ou SET SEARCH PATH, qui modifient le contexte. Mais l'EDI doit également savoir où résoudre au début du fichier. Il traitait donc la base de données ou le schéma par défaut (ou l'entrée du paramètre SQL Resolution scopes) comme le contexte le plus approprié pour le début du fichier.

En d'autres termes, s'il n'y a pas d’instructions USE ou SET SEARCH PATH dans votre fichier, alors DataGrip ne devrait pas essayer de résoudre le début du fichier hors contexte. Pour résoudre ce problème, JetBrains a trouvé un moyen de permettre à DataGrip de déterminer quelle approche suivre en introduisant deux modes de résolution : Playground et Script.

En mode Playground, DataGrip résout tous les objets en fonction du contexte, qui est la valeur dans le sélecteur de schéma, la portée de résolution ou la base de données par défaut. Il s'agit de l'approche recommandée si votre fichier se compose simplement d'un ensemble de requêtes non connectées, indépendantes les unes des autres et sans séquence particulière. Le mode Playground est désormais utilisé par défaut pour les consoles de requêtes.

En mode Script, le début du fichier est résolu en fonction du contexte, mais toutes les instructions USE du script modifient le contexte pour la résolution car elles font partie de la logique séquentielle du script. C'est le mode à choisir si vos requêtes ont une logique séquentielle et doivent être exécutées en tant que script unique. Le mode Script est maintenant le mode par défaut pour les fichiers locaux.

Pour passer d'un mode à l'autre, utilisez simplement le menu déroulant de la barre d'outils, comme indiqué dans la capture d'écran.


Génération de code

Nouvelle interface utilisateur Modify

La nouvelle interface utilisateur Modify, dont une version de base avait été introduite dans la version 2022.1, est désormais l'option par défaut. À partir de DataGrip 2022.2, tous les objets enfants d'une table peuvent être ajoutés et modifiés avec cette nouvelle interface utilisateur.

L'ancienne interface utilisateur restera disponible dans le menu contextuel tout au long de ce cycle de versions.

[SQL Server] Prise en charge des classements et des jeux de caractères

Les classements et les jeux de caractères sont désormais générés avec le DDL de la table.

Catégories de la configuration clavier

Auparavant, toutes les actions liées à la fonctionnalité de base de données étaient répartis dans quatre emplacements différents de la configuration clavier. Cette structure assez peu logique n'était qu'une conséquence historique du développement de l'EDI.

Pour vous aider à mieux visualiser toutes les actions disponibles, JetBrains a modifié cette structure et placé toutes les actions dans des groupes sous le groupe parent Database.


Portées dans les sources de données DDL

Vous avez maintenant la possibilité de définir des portées de fichiers comme sources de données DDL. Cela permet de filtrer facilement les dossiers pour les sources de données DDL. Vous pouvez par exemple exclure des sous-dossiers.

Autres améliorations

Action Merge All Project Windows sur macOS

Pour les utilisateurs de macOS, JetBrains a introduit la possibilité de fusionner toutes les fenêtres de projet ouvertes en les transformant en différents onglets d'une même fenêtre. Cette action est disponible dans le menu Window.

Avertissement d'expiration de mot de passe [Oracle, Vertica]

Les bases de données Oracle et Vertica peuvent fournir des avertissements à l'approche de la date d'expiration du mot de passe. DataGrip récupère ces informations et les affiche suite à l'activation de Test Connection.

Prise en charge de base de DuckDB, Mimer SQL et Apache Ignite

JetBrains a ajouté une prise en charge de base pour 3 bases de données supplémentaires : DuckDB, Mimer SQL et Apache Ignite.

Éditeur de données

Amélioration de la qualité

  • L'ordre des tables est maintenant sauvegardé dans l'éditeur de données.
  • Février est de retour dans l'outil de sélection de date.
  • Les colonnes binaires avec des types de contenu mixtes sont désormais modifiables.
  • L'importation CSV n'échoue plus sur la dernière ligne si la dernière valeur est vide et qu'il n'y a pas de nouvelle ligne.
  • L'extracteur SQL-Insert-Multirow génère la maintenant la bonne requête.
  • Lors de l'ouverture de la documentation rapide pour les cellules, les données associées sont chargées automatiquement.
  • L'erreur d'emplacement des objets Origin et Target dans la fenêtre Migration de l'aperçu DDL diff a été corrigée.
  • La correspondance des familles d'opérateurs est maintenant prise en charge.
  • Le mode PostgreSQL Fire est désormais respecté lors du vidage de mémoire dans une source de données DDL.
  • [Azure SQL Database] SET ROWCOUNT est exécuté avant les requêtes Azure pour limiter la taille de la page.

Console de requêtes

Amélioration de la qualité
  • La barre de recherche ne masque plus la barre d'outils.
  • [ClickHouse] MODIFY ORDER BY est prise en charge pour ALTER TABLE.
  • [SQL Server] L'avertissement condition is always false ne s'affiche plus lors de l'affectation d'une variable.
  • [SQL Server] CHANGETABLE est maintenant prise en charge.
  • [SQL Server] END CONVERSATION est maintenant prise en charge.
  • [SQLite] Les tables PRAGMA_TABLE_INFO et PRAGMA_TABLE_XINFO sont résolues correctement.
  • [PostgreSQL] Les colonnes sont maintenant résolues correctement lors de l'utilisation de CTE avec INSERT INTO.


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