Alle unsere IDEs haben jetzt ein neues Toolfenster mit dem Namen Services. In DataGrip können Sie dort alle Verbindungen beobachten und verwalten.
Jede Verbindung hat einen eigenen Knoten unter der entsprechenden Datenquelle. Wenn das kleine grüne Licht auf dem Symbol leuchtet, ist die Verbindung aktiv. Sie können eine Verbindung einfach über das Kontextmenü schließen.
Sie können alle Servicetypen als Knoten anzeigen oder die Ansicht ändern, um sie als Registerkarten anzuzeigen. Verwenden Sie die Aktion Show in New Tab in der Symbolleiste oder ziehen Sie einfach den gewünschten Knoten auf die Titelleiste des Toolfensters Services.
Das Abfrageergebnis wird nun in der Ansicht Services unter der Verbindung an die jeweilige Konsole angehängt.
Wichtig! Das Standard-Tastenkürzel für das Toolfenster "Services" lautet Alt+8.
Wenn Sie die Baumstruktur von Services nicht sehen möchten (d. h. die früher verwendete Darstellung wiederhestellen möchten), klicken Sie auf das Zahnradsymbol und blenden Sie sie aus.
Im Toolfenster Services gibt es noch eine weitere häufig angefragte Funktion: einen Live-Timer für Abfragen. Für jede Verbindung, über die eine Abfrage ausgeführt wird, wird die Abfragedauer auf der rechten Seite angezeigt.
Wenn Sie das Docker-Plugin verwenden, werden die entsprechenden Services auch in diesem Toolfenster angezeigt.
Jetzt können Sie Daten sogar dann finden, wenn Sie nicht wissen, in welchen Quellen sich diese befinden. Wählen Sie dazu die Datenquellen, Gruppen von Datenquellen oder sogar einzelne Tabellen aus, die durchsucht werden sollen, und rufen Sie im Kontextmenü Full-text search [Volltextsuche] auf. Natürlich gibt es auch hierfür ein Tastenkürzel: Strg+Alt+Umschalt+F.
Sie werden ein Dialogfeld sehen, in das Sie die Zeichenfolge eingeben können. Es wird eine Liste der zu durchsuchenden Datenquellen angezeigt, und Sie können mehrere Optionen für Ihre Suche festlegen.
Außerdem können Sie sehen, welche speziellen Anweisungen DataGrip ausführt, um die Datensuche durchzuführen.
Nach dem Ausführen der Suche werden die Ergebnisse angezeigt, die Sie öffnen können.
Klicken Sie auf ein Ergebnis, um den Dateneditor zu öffnen. Der Filter ist so vordefiniert, dass nur die Zeichenfolgen angezeigt werden, in denen sich die Daten befinden. Wenn Sie die Daten nicht finden können, weil zu viele Spalten vorhanden sind, verwenden Sie die Textsuche im Dateneditor mit Strg+F.
In manchen Datenbanken können Sie die Suche auf indizierte Spalten begrenzen. Wenn Sie diesen Modus verwenden möchten, wählen Sie im Dropdown-Menü Search in die Option Only columns with full-text search indexes aus.
where col @@ plainto_tsquery('text')
. where match(col) against ('text' in natural language mode)
. WHERE CONTAINS(col, N'text')
. where col MATCH 'text'
. Wenn der Modus All columns [Alle Spalten] ausgewählt ist, wird auch in Spalten gesucht, die den Operator LIKE
nicht unterstützen, z. B. in Spalten vom Typ JSON. Werte in diesen Spalten werden zuvor zu Strings konvertiert.
In Apache Cassandra, DataGrip creates several queries for one table, because the OR
condition isn’t supported by the database.
Wie viele Zeilen aus der Datenbank abgerufen werden sollen, können Sie jetzt in der Symbolleiste der Ergebnismenge festlegen.
Eine weitere nützliche Verbesserung ist die Benennung von Ergebnis-Registerkarten. Verwenden Sie dafür einfach den Kommentar vor der Abfrage.
Wenn nur bestimmte Kommentare als Namen für Registerkarten verwendet werden sollen, verwenden Sie in den Einstellungen das Feld Treat text as title after [Text als Titel behandeln nach], um das Präfixwort anzugeben. Dann werden nur die Wörter, die nach diesem Wort kommen, als Titel verwendet.
Es war schon früher möglich, Tabellen per Drag & Drop zu kopieren, aber beim Kopieren innerhalb desselben Schemas funktionierte dies nicht. Das kann sehr praktisch sein, um vor wichtigen Datenmanipulationen schnell eine Sicherungskopie der Tabelle zu erstellen. Also haben wir jetzt dafür gesorgt, dass es geht!
Drag & Drop funktioniert jetzt auch beim Erstellen von Gruppen im Datenbank-Explorer.
Um eine neue Gruppe zu erstellen, ziehen Sie einfach eine Datenquelle auf eine andere.
Um die Datenquelle einer vorhandenen Gruppe hinzuzufügen, legen Sie sie auf der Gruppe ab.
Ab Version 2019.2 zeigt das kleine grüne Licht an, ob eine Live-Verbindung zur Datenquelle besteht.
Für die Datenquelle oder das Schema ist eine neue Aktion mit dem Namen Force Refresh verfügbar. Damit werden die von DataGrip zwischengespeicherten Informationen der Datenquelle gelöscht und von Grund auf neu aktualisiert.
Wenn Sie im Popup GoTo nach einem Objekt suchen, enthält die Ergebnisliste manchmal viele ähnliche Objekte. Es kommt häufig vor, wenn Sie viele Spiegel wie Produktion, Staging, Test etc. verwenden.
In DataGrip 2019.2 können Sie auswählen, wo gesucht werden soll: in einer bestimmten Datenquelle oder in einer Gruppe davon.
Dasselbe gilt für Find In Path. Dies ist äußerst nützlich, wenn Sie nach Quellcode in den DDLs anderer Objekte suchen.
In nahezu jeder Datenbank gibt es einen Systemkatalog – den Ort, an dem ein relationales Datenbankverwaltungssystem Schema-Metadaten speichert, z. B. Informationen über Tabellen und Spalten, integrierte Funktionen usw.
Objekte aus diesen Katalogen werden für die Programmierunterstützung benötigt. Es ist praktisch, sie in der Codevervollständigung nutzen zu können, und Code, der sie verwendet, sollte nicht als fehlerhaft markiert werden.
Die einzige Möglichkeit, Systemkataloge in die Codierunterstützung aufzunehmen, bestand bisher darin, sie zum Datenbank-Explorer hinzuzufügen. DataGrip hat tatsächlich Informationen darüber aus der Datenbank abgerufen (übrigens immer gleich!), was einige Zeit in Anspruch genommen hat. Außerdem waren sie auch im Datenbank-Explorer sichtbar, was nicht immer notwendig ist.
Dieser Schema-Typ ist in der Schemaauswahl mit einem Blitzsymbol gekennzeichnet. Wenn Sie diese nun nicht überprüfen, wird auch DataGrip keine Introspektion dafür durchführen und anzeigen. Die Informationen über deren Objekte werden jedoch für die Programmierunterstützung genutzt. Um dies zu ermöglichen, verwendet DataGrip seine internen Daten über Systemkataloge für jede Datenbank.
Hier sind einige Beispiele für Systemkataloge in verschiedenen Datenbanken:
Wir haben einen Quick-Fix in den Inspektions-Tooltip integriert. Wenn DataGrip weiß, wie das Problem behoben werden kann, erfahren Sie dies, indem Sie mit der Maus über die Warnung fahren. Um das Problem zu beheben, klicken Sie einfach auf den Link in der unteren linken Ecke des Tooltips, oder drücken Sie Alt+Umschalt+Enter.
Alt+Enter funktioniert weiterhin, um die Liste aller möglichen Quick-Fixes abzurufen.
Darüber hinaus haben wir mehrere neue Inspektionen eingeführt.
Wenn Sie CASE
-Konstrukte verwenden, analysiert DataGrip, ob diese in besser lesbare Konstruktionen umgewandelt werden können.
In ein IF
-Konstrukt:
In ein COALESCE
-Konstrukt:
Wir haben eine weitere Intention-Aktion hinzugefügt: Jetzt können Sie GROUP BY
zu DISTINCT
konvertieren, wenn alle Spalten einer SELECT
-Klausel in einer GROUP BY
-Klausel dargestellt werden.
Die IDE erkennt die Länge der Zeichenfolge, wenn der Variablen ein Wert zugewiesen wird, und warnt Sie, wenn sie Zeichen abgeschnitten werden.
Das Standardverhalten der Aktion Move Caret to Next Word wurde geändert: DataGrip verschiebt das Caretzeichen jetzt an das Ende des aktuellen Wortes.
Möchten Sie das Verhalten der Caret-Bewegungsaktionen ändern, wechseln Sie zu Preferences/Settings | Editor | General.
Diese Aktion wird normalerweise durch Drücken von Strg+Pfeiltaste unter Windows oder Linux und Opt+Pfeiltaste unter Mac ausgeführt. Es weist auf verschiedenen Betriebssystemen ein unterschiedliches Standardverhalten auf. In DataGrip haben wir vom Windows-ähnlichen Verhalten auf das Mac-ähnliche umgestellt.
So war es vorher:
Und so ist es jetzt:
Eine neue Aktion Select current statement ist jetzt verfügbar. Der Zugriff ist über die Find-Aktion Strg+Umschalt+A oder auch über ein selbst zugewiesenes Tastenkürzel möglich.
Wenn Sie die Lesbarkeit großer Zahlen verbessern möchten, falten Sie sie mit dem Tastenkürzel Strg+Minus.