Das ist neu in DataGrip 2022.3

DataGrip 2022.3 ist da! Dieses große Update enthält eine Vielzahl von Verbesserungen. Im Folgenden stellen wir Ihnen die Neuerungen im Detail vor!

Allgemeines

Redis-Unterstützung

Wir haben die lang erwartete Redis-Unterstützung eingeführt. Sie können jetzt eine Verbindung zu Redis Single Instance herstellen, Schlüsselwerte im Datenbetrachter untersuchen, unsere intelligenten Programmierhilfen beim Schreiben Ihrer Redis-Abfragen nutzen und vieles mehr.

Hier ist ein kurzer Überblick über die Neuerungen:

  • Konnektivität: Redis Single Instance.
  • Introspektion: Introspektion von Datenbanken und Schlüsseln, einschließlich der Möglichkeit, einen Standard-Schlüsselfilter für die Introspektion festzulegen.
  • Datenbank-Explorer: Getrennte Ordner für Schlüssel unterschiedlicher Typen ab Redis 6.0 und ein Ordner mit allen Schlüsseln für ältere Versionen.
  • Ausführung von Abfragen: Der JDBC-Treiber unterstützt die Ausführung der meisten Abfragen.
  • Programmierunterstützung: Syntaxhervorhebung, Schlüsselwort-Completion und Auflösung von Datenbanken und Schlüsseln.
  • Objekt-Editor: Umbenennen und Löschen von Schlüsseln.
  • Datenbetrachter: Filterung und JSON-Syntaxhervorhebung.

Weitere Einzelheiten finden Sie in unserem Blogartikel.

Neue UI in den Einstellungen verfügbar

Im Mai dieses Jahres haben wir ein geschlossenes Preview-Programm für die neue Bedienoberfläche der IntelliJ-IDEs gestartet. Auch DataGrip gehört dieser Gruppe an.

Mit diesem ersten Schritt wollten wir einer begrenzten Anzahl von Benutzer*innen das überarbeitete Bedienoberflächen-Design unserer Produkte vorstellen. Durch das Preview-Programm haben wir viele hilfreiche Rückmeldungen bekommen, die in die weitere Entwicklung eingeflossen sind. Jetzt sind wir soweit, dass wir alle Benutzer*innen einladen können, die neue Bedienoberfläche auszuprobieren.

Daher sind Sie herzlich eingeladen, die neue UI unter Settings / Preferences | Appearance & Behavior | New UI Preview zu aktivieren, zu testen und uns Feedback zu den Änderungen zu geben.

Wir arbeiten weiterhin daran, die neue Bedienoberfläche für DataGrip zu optimieren. So ist zum Beispiel die Erstellung einer Run-Konfiguration, die bei anderen IDEs eine zentrale Bedeutung hat, nicht unbedingt eine Aktion, die wir in DataGrip mit einer leuchtend blauen Schaltfläche ausstatten würden. Sollten Sie Ideen für die Anpassung der oberen Symbolleiste haben, teilen Sie sie uns bitte unbedingt mit.

Neue Lösung zur Synchronisierung von Einstellungen

In diesem Release haben wir eine überarbeitete Lösung zur Synchronisierung Ihrer IDE-Einstellungen eingeführt. Die Umsetzung erfolgt über ein standardmäßig installiertes Plugin. Die neue Option Settings Sync wird in den Einstellungen angezeigt:

Bisher hatten wir zwei separate Plugins für die Synchronisierung der Einstellungen: IDE Settings Sync und Settings Repository.

Wenn Sie IDE Settings Sync verwendet haben, werden Ihre Daten automatisch in das neue Plugin übernommen, sodass Sie nichts unternehmen müssen.

Wenn Sie Settings Repository verwenden, empfehlen wir Ihnen, vorerst dabei zu bleiben, da wir an der Migration noch arbeiten. Wenn die Funktionalität fertiggestellt ist, erhalten Sie eine Benachrichtigung in der IDE.

Die Einstellungen werden in Ihrem JetBrains-Account in der Cloud gespeichert. Wenn Sie mehrere IntelliJ-basierte IDEs mit demselben JetBrains-Account verwenden, werden Ihre Einstellungen automatisch synchronisiert.

Bekanntes Problem: Der Bereich „Database“ in Settings kann derzeit nicht synchronisiert werden. Diese Funktion wird in Kürze in einem der kleineren Updates für 2022.3 zur Verfügung stehen.

Bitte beachten Sie, dass Datenquellen nicht zu den Einstellungen gehören. Um Datenquellen zu teilen, folgen Sie bitte diesem Tutorial.

Virtuelle Views

Mit dieser neuen Funktion können Sie Views verwenden, ohne sie in Wirklichkeit in Ihrer Datenbank anzulegen. Im Grunde handelt es sich um eine Abfrage, deren Ergebnis abgerufen und in DataGrip gespeichert wird.

 

Virtuelle Views sind im Datenbank-Explorer sichtbar und können mit einem Doppelklick ausgeführt werden.

Allerdings können Sie virtuelle Views derzeit nicht in Ihrem SQL-Code verwenden.

Navigation in Diagrammen

Die Diagrammelemente ermöglichen jetzt eine vollständige Navigation. Dadurch stehen Ihnen alle wichtigen Navigationsaktionen zur Verfügung:

  • DDL öffnen: Strg/Cmd+B
  • Daten öffnen: F4
  • Im Datenbank-Explorer auswählen: Alt/Opt+Umschalt+B
  • Ändern: Cmd/Strg+F6

Datenbank-Explorer

Schnellfilter

Eine weitere lang erwartete Funktion wurde endlich umgesetzt! Bei der Verwendung der Schnellsuche haben Sie jetzt die Möglichkeit, Objekte zu filtern. Alle Objekte, die nicht dem Filter entsprechen, werden ausgeblendet.

Schema-Filterung mit regulären Ausdrücken

Wenn Sie viele verschiedene Schemata haben, werden Sie diese Verbesserung zu schätzen wissen. Sie können jetzt Datenbanken oder Schemata mit regulären Ausdrücken zur Introspektion auswählen. Klicken Sie dazu auf Add Pattern und definieren Sie einen regulären Ausdruck im neu angelegten Knoten. Die Datenbanken bzw. Schemata werden entsprechend diesem Ausdruck ausgewählt.

Wenn Sie mehrere Ausdrücke hinzufügen, werden die Ergebnisse kombiniert – es wird also nicht die Schnittmenge verwendet.

Der Knoten All verhält sich jetzt anders als in früheren Versionen: Das Standardschema wird nicht automatisch ausgewählt. Sie müssen nun zwischen All schemas, Default schema oder der Anwendung eines Regex-Filters wählen.

Farben für globale Datenquellen

Wenn Sie jetzt eine Farbe für die globale Datenquelle festlegen, wird sie zusammen mit der Datenquelle geteilt.

Skriptdateien ziehen und ablegen

Um ein Skript auf ein beliebiges Schema anzuwenden, können Sie jetzt einfach Ihre Skript-Datei aus dem Files-Toolfenster auf das Schema ziehen.

Dateneditor

Formatierung von Datums- und Zeitdatentypen

Sie können jetzt die Darstellung von Datums- und Uhrzeittypen im Dateneditor nach Bedarf anpassen. Die Einstellungen dafür finden Sie unter Database | Data Editor und Viewer.

 

Diese Funktion ist jetzt für drei Arten von Feldern verfügbar:
Datetime/timestamp (mit oder ohne Zeitzone), Time (mit oder ohne Zeitzone) und Date.

Neuer Extraktor: WHERE-Klausel

Ein ausgewählter Wertebereich kann jetzt als Teil der WHERE-Klausel extrahiert werden:

  • Werte innerhalb einer Spalte werden mit dem Operator OR kombiniert.
  • Werte innerhalb einer Zeile werden mit dem Operator AND kombiniert.
  • Wenn nur Werte aus einer Spalte extrahiert werden, werden sie mit dem IN-Operator kombiniert.

SQL-Filterung nach mehreren Werten

Die Filter by-Aktion generiert jetzt eine Bedingung, wenn Sie mehrere Werte auswählen.

Eintragen der Auswahl in das Textsuchfeld

Wenn Sie mit Strg/Cmd+F die Textsuche aufrufen, wird der Wert unter dem Cursor automatisch in die Suchfelder eingetragen. Dies ist dem bekannten Verhalten des Texteditors ähnlich.

Korrekte Anzeige von Struct-Werten BigQuery

Struct-Werte werden jetzt in einer lesbaren Form dargestellt: Jeder verschachtelte Wert wird in einer eigenen Spalte angezeigt.

Codebearbeitung

Vorschau auf Kontextaktionen

Sie können jetzt vorab überprüfen, wie Ihre Abfrage verändert wird, wenn Sie die Vorschläge der IDE annehmen. Die Vorschau erscheint, wenn Sie die Liste der verfügbaren Aktionen öffnen und den Mauszeiger auf eine Option bewegen.
Während die Liste der Kontextaktionen geöffnet ist, können Sie die Vorschau durch Drücken von Strg+Q deaktivieren.

Kopieren und Einfügen einer Zeile

Wenn kein Text ausgewählt ist, wird durch Drücken von Strg/Cmd+C automatisch die gesamte Zeile im Texteditor ausgewählt und kopiert. Dieses bisher schon vorhandene Verhalten haben wir dadurch ergänzt, dass nun auch das Einfügen der Zeile einfacher ist. Die kopierte Zeile wird als neue Zeile inkl. Zeilenumbruch eingefügt, wenn keine Textauswahl vorhanden ist. Die Funktionsweise können Sie in diesem Video sehen:

Neues Layout für den SQL-Schemagenerator: pro Objekt nach Schema und Typ

Das neue Layout heißt Per Object By Schema and Type. Wenn Sie damit den SQL-Code für das gesamte Schema generieren, werden die erzeugten Dateien in Ordnern entsprechend dem Objekttyp abgelegt: Tabellen, Views usw.

Fehlerkorrekturen

  • DBE-6156: Oracle SET ROW wird jetzt unterstützt.
  • DBE-12766: SQL Server $PARTITION wird jetzt unterstützt.

Arbeiten mit Tabellen

UI für virtuelle Fremdschlüssel

Es ist seit einiger Zeit möglich, virtuelle Fremdschlüssel anzulegen. Die Hauptverwendungszwecke sind:

  • Code-Completion für JOIN-Klauseln.
  • Darstellung virtueller Beziehungen in Diagrammen.
  • Navigation anhand von Datenbeziehungen im Dateneditor.

Zur Erstellung wurde bisher hauptsächlich die Kontextaktion Store Relation in der JOIN-Klausel einer Abfrage verwendet. Das war nicht ganz einfach zu finden, und die gesamte Funktionalität war nicht intuitiv zu bedienen. Wir haben folgende Änderungen vorgenommen.

Jetzt sind virtuelle Fremdschlüssel im Datenbank-Explorer sichtbar:

Sie können sie hier, im Datenbank-Explorer und im Modify Table-Dialog erstellen und ablegen.

Tabellengröße in der Schnelldokumentation MySQL PostgreSQL

Die Größe von MySQL- und PostgreSQL-Tabellen wird jetzt im Schnelldokumentations-Popup angezeigt. Zum Anzeigen klicken Sie auf Show table preview.

Konnektivität

Startskript für Session-Vorlagen

Sie können jetzt ein Startskript für Session-Vorlagen festlegen. Dies bedeutet, dass das Skript jedes Mal ausgeführt wird, wenn eine neue Session unter Verwendung der entsprechenden Vorlage erstellt wird. Dadurch kann DataGrip zum Beispiel die Anweisung use secondary roles all für die Introspektion in Snowflake ausführen.

Authentifizierungsoptionen MongoDB

Wir haben den Verbindungsdialog für MongoDB um zahlreiche Authentifizierungsmechanismen ergänzt. Um sie zu verwenden, aktualisieren Sie Ihren Treiber auf Version 1.16.

Schema-Diff-Betrachter

Unterstützung für Objektabhängigkeiten

Der Diff-Betrachter für Schemata berücksichtigt jetzt auch abhängige Objekte. Die wichtigsten Objekte dieser Art sind PostgreSQL-Identitätsspalten. Wenn die dazugehörigen Sequenzen für zwei ansonsten gleiche Identitätsspalten unterschiedlich sind, wird beim Vergleichen der beiden Spalten dieser Unterschied angezeigt.

 

Ein anderes Beispiel wäre ein Trigger, der eine Prozedur aus einem anderen Schema aufruft. Jetzt wird der Unterschied zwischen solchen Triggern angezeigt, wenn die Routinennamen unterschiedlich sind:

Es gibt noch zwei wichtige bekannte Einschränkungen in Bezug auf den Schema-Diff-Betrachter:

  • DBE-16814: Wenn eine Routine bzw. View in Ihrem Code eine Objektreferenz verwendet, ist die korrekte Skriptreihenfolge nicht gewährleistet. Wenn zum Beispiel eine Routine eine andere Routine aufruft, ist nicht garantiert, dass die aufgerufene Routine vor der aufrufenden Routine erstellt wird.
  • DBE-15598: In einigen Fällen erfolgt die Objektqualifizierung innerhalb von Objektkörpern, Standardausdrücken usw. in der Quelle nicht korrekt.