Aujourd'hui, nous vous présentons DataGrip 2021.1, notre première version majeure de l'année et probablement la plus remarquable de l'histoire de notre IDE. Nous espérons que cette v2021.1 résoudra au moins l'un de vos principaux problèmes, apporte une nouvelle fonctionnalité que vous allez adorer, ou les deux. Voyons cela !
Ceci est disponible pour PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server et Sybase.
Nous avons ajouté une interface utilisateur pour l'édition des autorisations lors de la modification des objets.
La fenêtre Modify user, que vous pouvez appeler sur un utilisateur dans l'explorateur de base de données avec Cmd/Ctrl+F6, dispose désormais d'une interface utilisateur pour ajouter des autorisations aux objets :
C'est la solution que nous proposons pour tous ceux qui souhaitent générer des instructions simples directement depuis l'explorateur de base de données. Les modèles dynamiques généraux couvrent de nombreux cas dans lesquels vous devez rédiger rapidement une requête simple. Mais nous comprenons aussi que lorsque vous êtes dans le contexte de l'explorateur de base de données et que vous vous concentrez déjà sur l'objet dont vous avez besoin, il peut y avoir une meilleure façon d'obtenir une requête simple utilisant cet objet.
Et beaucoup d'autres outils utilisent également ce mécanisme pour réduire les tâches répétitives, de nombreux utilisateurs y sont donc déjà habitués.
Voici une brève vidéo montrant comment cela fonctionne :
Chaque extrait de code de cette liste est en fait un modèle dynamique, mais ce sont tous des modèles spéciaux qui peuvent être générés dans le contexte de l'objet choisi. Par exemple, examinons le template Select first N rows from a table.
Ouvrez la page des paramètres des Modèles Dynamiques et localisez le modèle dont vous avez besoin :
Select first N rows from a table ressemble à un template général (et peut être utilisé comme tel). Comme cette syntaxe spécifique ne peut pas être utilisée dans toutes les bases de données, les dialectes correspondants sont définis pour le template. La principale différence qui rend ce modèle applicable dans l'explorateur de base de données est l'expression spéciale dbObjectName, qui est utilisée pour la variable $table$ :
Vous pouvez bien sûr ajouter vos propres templates ou modifier les templates existants.
Dans Settings/Preferences | Database | General, choisissez si vous voulez que votre script soit généré sur la console actuelle ou sur une nouvelle console.
Nous avons ajouté une fonctionnalité essentielle pour travailler avec MongoDB : à compter de cette version, vous pouvez modifier les données dans les collections MongoDB. Un aperçu de l'instruction est également disponible.
Pour rendre l'édition plus flexible, nous avons introduit la possibilité de changer le type d'un champ à partir de l'interface utilisateur. Cela peut se faire à partir du menu contextuel du champ ou dans l'éditeur de valeurs :
Nous avons amélioré le tri des données :
ORDER BY
fonctionne de manière similaire au champ WHERE
(qui s'appelait Filter auparavant) : entrez une clause fonctionnelle afin qu'elle soit appliquée à la requête du tableau. Si vous souhaitez utiliser le tri du côté client (ce qui implique que DataGrip ne réexécutera pas la requête mais triera les données au sein de la page actuelle), décochez Sort via ORDER BY :
Il est également possible d'ouvrir les tables avec un tri prédéfini basé sur la clé primaire numérique. Ce paramètre se trouve dans Settings/Preferences | Database | Data Views.
Nous avons retravaillé la barre d'outils de l'éditeur de données. Les boutons Roll-back et Commit ne sont plus affichés en mode transaction automatique, et il y a deux nouveaux boutons, Revert changes et Find.
Dans Settings/Preferences | Database | Data Views, il y a maintenant une option permettant de toujours transposer le résultat si il contient une seule ligne.
Nous avons simplifié la navigation et supprimé les paramètres suivants :
Si vous n'avez jamais modifié ces paramètres et que les cases à cocher étaient cochées par défaut, le principal changement de la version 2021.1 pour vous est le suivant : lorsque Go to declaration (Ctrl/Cmd+B) est appelé sur un objet dans SQL, il vous amène maintenant à la DDL, et non à l'arborescence de la base de données.
Nous avons également introduit un raccourci pour l'action Select in database tree : Alt+Maj+B pour Windows/Linux et Opt+Maj+B pour macOS.
Le principal objectif de ce changement est de simplifier la logique : chaque action doit vous conduire à l'endroit escompté.
Maintenant, si vous avez le curseur sur un objet :
Nous comprenons que vos habitudes puissent être chamboulées par ces changements et nous sommes donc disposés à vous proposer des moyens pour conserver votre ancienne façon de procéder. Quelques conseils :
database.legacy.navigate.to.code.from.tree
. D'après nos informations, très peu d'utilisateurs recouraient à ce procédé. Nous recommandons également d'utiliser les raccourcis pour ouvrir la DDL pour les objets. Si certains de vos cas d'utilisation ne sont plus couverts par ce nouveau processus, veuillez nous le faire savoir.
L'authentification interactive Azure Active Directory est prise en charge. Lorsqu'elle est activée, le navigateur s'ouvre automatiquement et vous laisse vous connecter.
Le pilote Redshift 2.x JDBC est disponible pour les utilisateurs de DataGrip à partir de cette version. L'amélioration majeure ici est la possibilité d'annuler des requêtes.
La prise en charge du dialecte Google BigQuery a été ajoutée dans la version précédente. L'introspection de bases de données et la génération de code fonctionnent désormais correctement et ne dépendent plus de la fonctionnalité du pilote JDBC.
Si vous travaillez avec les scripts CockroachDB ou si vous écrivez du SQL pour interroger cette base de données, votre code sera désormais correctement mis en évidence et toutes les erreurs seront affichées avant que vous n'exécutiez la requête. Il s'agit de la première étape vers la prise en charge complète de CockroachDB, qui sera disponible dans l'une des prochaines versions.
Nous avons retravaillé la fenêtre de connexion pour la rendre plus conviviale.
Le champ URL est désormais extensible, ce qui facilite la gestion des URL longues.
La possibilité de copier-coller des sources de données a été introduite il y a longtemps. Mais à partir de la version 2021.1, vous pouvez copier, couper et coller des sources de données en utilisant certains des raccourcis les plus célèbres au monde : Ctrl/Cmd+C/V/X.
L'agencement par défaut de l'explorateur de base de données a été modifié, les objets non majeurs figurant désormais sous un nœud dédié. La plupart du temps, les gens travaillent avec des tables, des vues et des routines, et voir les utilisateurs, rôles, tablespaces, wrappers de données externes et autres types d'objets n'est pas une priorité. C'est pourquoi ces objets secondaires sont maintenant cachés sous deux nœuds : Server Objects et Database Objects.
Si vous voulez retrouver l'ancien agencement, il suffit de sélectionner Group Database and Schemas dans les paramètres sous l'icône d'engrenage.
Si vous utilisez Oracle, il existe une option permettant d'afficher ou de masquer les objets générés automatiquement dans l'arborescence, parmi lesquels :
Les fonctions, les modules et les colonnes virtuelles sont introspectés pour SQLite.
À partir de la version 2021.1, il est plus facile d'ajouter des sources de données pour les bases de données non prises en charge. Nous fournissons désormais des pilotes JDBC pour AWS Athena, Informix, Presto, SAP HANA, Google Cloud Spanner et bien d'autres. Vous pouvez trouver ces bases de données dans la liste des bases de données dans la section Other.
Nous avons apporté quelques améliorations supplémentaires :
Veuillez noter que la prise en charge de ces bases de données est limitée. Elle dépend principalement des capacités du pilote JDBC et de la prise en charge du dialecte SQL:2016 par l'éditeur SQL de DataGrip.
Nous avons ajouté un nouveau paramètre permettant d'utiliser les bases de données non prises en charge. Lorsque vous travaillez avec ces bases de données dans DataGrip, vous devez utiliser le dialecte SQL:2016 ou Generic. Generic est quasiment identique à SQL:2016 mais DataGrip ne met pas en évidence les erreurs qu'il trouve.
Pour accéder à ce paramètre, allez dans Settings/Preferences | Database | General | Split a script for execution in Generic and ANSI SQL dialects. Vous pouvez choisir parmi les valeurs suivantes :
Voici quelques-uns des problèmes que nous avons résolus :
L'inspection qui signale les noms de colonne ambigus est maintenant plus intelligente et prend en compte toutes les colonnes situées dans des expressions de table communes :
Les fonctions et procédures du système ne sont plus mises en évidence comme des erreurs lorsqu'elles sont utilisées sans qualification. La navigation et la saisie semi-automatique fonctionnent maintenant pour les fonctions et procédures du système.
Thanks to the IntelliJ Platform, DataGrip now has support for the newline-delimited JSON Lines format used for working with structured data and logs. L'IDE reconnaît les types de fichiers .jsonl, .jslines, .ldjson et .ndjson.
Les nouveaux paramètres de typographie vous permettent d'ajuster le style de votre police. Dans la v2021.1, vous pouvez choisir le poids de la police par défaut et de la police grasse dans Preferences / Settings | Editor | Fonts.
Lorsque vous copiez des données binaires qui n'ont pas encore été complètement chargées, la notification suivante s'affiche :
Pour éviter que les données ne soient tronquées, augmentez la valeur dans Settings/Preferences | Database | Data Views | Maximum number of bytes loaded per value.
Lorsque vous exportez vers Excel, le fichier résultant contiendra la requête sur une feuille séparée.
Lorsque vous importez un fichier CSV, l'option permettant de préciser que la première ligne est un en-tête est désormais disponible dans le menu contextuel, comme indiqué ci-dessous :
Il est désormais possible de joindre un dossier à votre projet grâce à une simple action de glisser-déposer.
Lorsque plusieurs onglets qui divisent l'éditeur verticalement sont ouverts, vous pouvez les double-cliquer et agrandir la fenêtre de l'éditeur pour chacun d'eux. Pour ramener la fenêtre à sa taille initiale, il suffit de double-cliquer à nouveau sur celle-ci.
Il y a quelque temps, nous avons introduit des noms d'onglets raccourcis. Cette fonctionnalité ne convenant pas à tout le monde, nous avons ajouté la possibilité de la personnaliser à votre convenance.