DataGrip 2018.3: Cassandra-Unterstützung, Generieren von SQL-Dateien aus Objekten, viele Verbesserungen der automatischen Vervollständigung und vieles mehr

Hallo! Dies ist eine Geschichte über die Neuerungen in unserem Datenbank-Plugin. Wir veröffentlichen es als separates DataGrip- Produkt und versenden es an fast alle unsere anderen IDEs. Es wird viele Bilder und Gifs geben. Für diejenigen, die zu faul sind, um sie zu sehen:

  • Cassandra Unterstützung
  • Erstellen von SQL-Dateien aus Schemaobjekten
  • Neue Inspektionen
  • Viele neue Autocomplete-Teile
  • Arbeiten Sie mit einer Datenquelle über eine Verbindung
  • Neue Suche
  • Kontrastreiches Farbschema

Vielen Dank an diejenigen, die die EAP-Version ausprobieren und Probleme an unseren Tracker melden: Dies hilft, sie nicht in die Version zu ziehen :) Aktive Benutzer haben bereits seit einem Jahr kostenlose Abonnements erhalten.

Bild

Cassandra Unterstützung


Wir beherrschen langsam NoSQL-Datenbanken. Bisher nur diejenigen, die SQL-ähnliche Sprachen für Abfragen verwenden. Wir haben Clickhouse in 2018.2.2 unterstützt und in dieser Version Cassandra hinzugefügt.



Automatische Vervollständigung


In diesem Subsystem gibt es viel Neues.

Es wurde die Möglichkeit hinzugefügt, Aliase automatisch nach Tabellennamen einzufügen. Wenn das von uns vorgeschlagene Pseudonym nicht zu Ihnen passt, geben Sie an, welche Pseudonyme für bestimmte Namen verwendet werden sollen.



Infolgedessen funktioniert es folgendermaßen:



Bei Verwendung von GROUP BY bietet DataGrip eine Liste nicht aggregierter Spalten .



Die SELECT-Klausel bietet eine Liste aller Spalten .



Die automatische Vervollständigung funktioniert für benannte Parameter .



Wir haben auch Kontextinformationen für identische Namen hinzugefügt.



Endlich Postfix-Abschluss : Dies ist, wenn sie durch den Punkt etwas schreiben, das mit dem Objekt zusammenhängt.



Wenn Sie beispielsweise nach SELECT den Namen der Tabelle.afrom schreiben, wird die FROM-Klausel in die Liste der Spalten erweitert. Oder unserer Meinung nach am bequemsten können Sie einer Spalte oder Variablen .cast hinzufügen.

Besser einmal zu sehen:



Die automatische Vervollständigung ist für Fensterfunktionen besser geworden: OVER () wird automatisch hinzugefügt und der Wagen wird an der richtigen Stelle platziert.



Refactoring


Eine wichtige Sache, für die es höchste Zeit war : Verwenden Sie einen Alias ​​anstelle einer Tabelle. Klicken Sie auf die Tabelle Alt + Enter → Alias ​​einführen. Verwendungstabellen werden durch Aliase ersetzt.



Nach der vorherigen Version haben wir ein detailliertes Feedback von speshuric erhalten . Zum Beispiel fand er viele nicht offensichtliche Skripte für die Unterabfrage Extrahieren als CTE. Dieses Refactoring wird über das Menü Refactor → Extrahieren → Unterabfrage als CTE aufgerufen. Wir empfehlen jedoch, sich an das Suchen von Aktionen zu gewöhnen (Strg + Umschalt + A).



Was haben wir getan:

- Der neue Name für CTE steht nicht in Konflikt mit dem vorhandenen: DBE-6496
- Wir bestimmen den Kontext korrekt, wenn die Anforderung in einen anderen Ausdruck eingeschlossen ist: DBE-6503 , DBE-6517
- Bei AS TableName : DBE-6490 bieten wir kein Refactoring an
- Unterstützt für MySQL 8.
- Funktioniert wie es sollte mit tiefen Unterabfragen. DBE-7332 , DBE-7333

Codegenerierung


Codevorlagen können an Dialekte angehängt werden - eine Vorlage kann für einige Basen und für andere nicht funktionieren.



Noch wichtiger: Dieselbe Vorlage kann unterschiedlichen Code für unterschiedliche Datenbanken generieren. Erstellen Sie dazu Vorlagengruppen für jeden Dialekt, da dieselben Vorlagennamen nicht in derselben Gruppe unterstützt werden (standardmäßig speichern wir Vorlagen in der SQL-Gruppe).

Zum Beispiel möchten wir eine Vorlage zum Abrufen der ersten n Zeilen aus einer Tabelle erstellen. PostgreSQL und SQL Server verwenden hierfür unterschiedliche Syntax, und wir werden immer die seln Vorlage verwenden. Implementieren Sie dementsprechend zwei Muster in zwei verschiedenen Gruppen und weisen Sie ihnen die entsprechenden Dialekte zu.



Es stellt sich so heraus:



Aus der SELECT-Klausel können Sie jetzt eine Tabelle mit derselben Signatur generieren . Drücken Sie dazu Alt + Eingabetaste -> Tabellendefinition erstellen



Und eine kleine Korrektur für die INS- Vorlage - QuickInfos für Spaltennamen werden automatisch angezeigt.



Code-Analyse


Wir haben Inspektionen zu unsicherem LÖSCHEN und AKTUALISIEREN hinzugefügt. Wir werden Sie warnen, dass Sie Daten verlieren.





Und wenn du rennst, werden wir das klären :)



Bei einer weiteren Überprüfung werden die nicht verwendeten Spalten aus der Unterabfrage gefunden .



Und der andere ist unbenutzter Code.



Datenbankobjekte


Der SQL Generator ( Strg / Befehlstaste + Alt + G ) hat gelernt , die Ergebnisse in eine Datei zu schreiben : Klicken Sie dazu auf die Schaltfläche Speichern .

Standardmäßig stehen zwei Methoden zum Organisieren von Dateien zur Verfügung. Wenn Sie jedoch weitere benötigen, schreiben Sie in die Kommentare.



Oder wenn Sie jetzt auf den Bleistift rechts klicken, können Sie die entsprechenden Skripte auf groovy bearbeiten. Oder erstellen Sie Ihre eigenen.



Unterstützte Erweiterungen in PostgreSQL.



Wir zeigen Statistiken im Informationsfenster für die Datenquelle (Strg + Q für Windows / Linux, F1 für OSX), einschließlich der Anzahl der verschiedenen Objekte.



Beim Generieren von Code zum Löschen des Objekts wurde die Option " Drop-Cascade-Syntax verwenden " hinzugefügt.



Verbindung


Vor der aktuellen Version bedeutete jede neue Konsole eine neue Verbindung. Andere Dinge, für die die Konsole nicht erforderlich war, erstellten ebenfalls separate Verbindungen: Ausführen von Skripten, Importieren, eine grafische Oberfläche zum Erstellen von Tabellen. Wenn Sie in 2018.3 in den Eigenschaften der Datenquelle den Einzelverbindungsmodus aktivieren, werden alle Arbeiten über eine einzige Verbindung ausgeführt.

Infolgedessen werden temporäre Objekte in der Baumstruktur angezeigt, und Konsolen und Dateneditoren arbeiten innerhalb derselben Transaktion. Dies ist der erste Schritt zur vollständigen Verwaltung der Verbindungen, die wir in Angriff nehmen werden.



Und sie haben es auch so gemacht, dass die IDE selbst nach der Leerlaufzeit wieder eine Verbindung herstellt.

Suche und Navigation


Die IntelliJ-Plattform führte eine neue Suche ein : Sie kombiniert verschiedene Arten von Suchvorgängen, die fragmentiert waren: Überall suchen , Aktion suchen , Zur Tabelle / Ansicht / Prozedur / gehen, Zur Datei gehen und Zum Symbol gehen . In DataGrip heißt die zweite Registerkarte "Tabellen" und in anderen IDEs "Klassen". Aber sie macht dasselbe: Sie sucht sowohl nach Datenbankobjekten als auch nach Klassen. Die Tabulatortaste schaltet die Registerkarten um.

Wir haben die Suchalgorithmen nicht ernsthaft geändert: Wenn Sie plötzlich nach etwas Gutem gesucht haben, es jetzt aber schlecht gesucht wird, schreiben Sie bitte.



In „Find in path“ finden Sie jetzt mehrere Zeilen gleichzeitig . Besonders nützlich für SQL - die Abfrage befindet sich im Quellcode von Objekten.



TODO-Kommentare können jetzt mehrzeilig sein. Um die folgenden Zeilen in einem solchen Kommentar abzufangen, trennen Sie sie durch ein Leerzeichen vom Kommentarsymbol. Die auf diese Weise vorgestellten Aufgaben fallen in das TODO-Tool-Fenster .

Das Bild ist klarer:



Schnittstelle


Das neue Farbschema ist sehr kontrastreich.



Schalten Sie wie folgt um : Drücken Sie Strg + `und wählen Sie Look and Feel.

In seinem Eigenschaftenfenster wurde ein Menü zur Auswahl der Farbe der Datenquelle angezeigt.



Und ein wenig Freundlichkeit wurde dem Zeilenauswahlfeld auf der Seite hinzugefügt. Zuvor musste man hier -1 schreiben, damit das Ergebnis alle Zeilen anzeigt :)

Jetzt gibt es ein Kontrollkästchen.



Das ist alles!

Weitere Details hier
Testversion für einen Monat herunterladen
→ Der Hochtöner, den wir lesen
→ Die Mail, die wir gelesen haben
Bug Tracker

DataGrip-Team

Source: https://habr.com/ru/post/de431646/


All Articles