SQLFLUFF ist ein dialekt-flexibler und konfigurierbarer SQL-Linter. SQLFLUFF wurde mit ELT -Anwendungen entwickelt und arbeitet auch mit Jinja Templating und DBT zusammen. SQLFLUFF wird die meisten Lingerfehler automatisch fixieren, sodass Sie Ihre Zeit darauf konzentrieren können, worauf es ankommt.
Obwohl SQL in seinen Implementierungen einigermaßen konsistent ist, stehen verschiedene Dialekte mit Variationen von Syntax und Grammatik zur Verfügung. SQLFLUFF unterstützt derzeit die folgenden SQL -Dialekte (wenn auch nicht vollständig):
sparksql -Dialekt mit der Einheitskatalog -Syntax).Wir wollen es einfach machen, die Unterstützung dieser Dialekte zu erweitern und auch andere, derzeit nicht unterstützte Dialekte hinzuzufügen. Bitte beschaffen Sie Probleme (oder stimmen Sie vorhandene Probleme auf), um uns über die Nachfrage nach fehlenden Unterstützung zu informieren.
Ziehen Sie Anfragen von Personen, die die fehlenden Syntax oder Dialekte kennen, besonders begrüßt und sind die Frage, wie Sie Unterstützung hinzuzufügen. Wir arbeiten gerne mit allen potenziellen Mitwirkenden zusammen, um diese Unterstützung hinzuzufügen. Bitte stellen Sie zuerst ein Problem für eine große Änderung der Funktionen an, um sicherzustellen, dass es gut zu diesem Projekt passt, bevor Sie Zeit für diese Arbeit verbringen.
SQL selbst eignet sich nicht gut für die Modularität. Um eine gewisse Flexibilität und Wiederverwendbarkeit einzuführen, wird dies häufig als diskutiert in unserer Modularitätsdokumentation vorgeschrieben.
SQLFLUFF unterstützt die folgenden Vorlagen:
Legen Sie bitte Probleme auf, wenn Sie weitere Vorlagensprachen/Syntaxe unterstützen möchten.
Wir haben auch eine VS -Code -Erweiterung:
Installieren Sie das Paket, um das Paket zu installieren und sqlfluff lint oder sqlfluff fix auszuführen.
$ pip install sqlfluff
$ echo " SELECT a + b FROM tbl; " > test.sql
$ sqlfluff lint test.sql --dialect ansi
== [test.sql] FAIL
L: 1 | P: 1 | LT01 | Expected only single space before ' SELECT ' keyword.
| Found ' ' . [layout.spacing]
L: 1 | P: 1 | LT02 | First line should not be indented.
| [layout.indent]
L: 1 | P: 1 | LT13 | Files must not begin with newlines or whitespace.
| [layout.start_of_file]
L: 1 | P: 11 | LT01 | Expected only single space before binary operator ' + ' .
| Found ' ' . [layout.spacing]
L: 1 | P: 14 | LT01 | Expected only single space before naked identifier.
| Found ' ' . [layout.spacing]
L: 1 | P: 27 | LT01 | Unnecessary trailing whitespace at end of file.
| [layout.spacing]
L: 1 | P: 27 | LT12 | Files must end with a single trailing newline.
| [layout.end_of_file]
All Finished ? !Alternativ können Sie das offizielle SQLFLUFF Docker -Image verwenden oder mit SQLFLUFF Online ein Stück spielen.
Für die vollständige CLI -Nutzung und -Regulationsreferenz finden Sie in den SQLFLUFF -Dokumenten.
Eine vollständige Dokumentation finden Sie unter docs.sqlfluff.com. Diese Dokumentation wird aus diesem Repository generiert. Bitte stellen Sie Probleme oder ziehen Sie Anfragen für Ergänzungen, Korrekturen oder Klarstellungen an.
SQLFLUFF haftet an der semantischen Versionierung, sodass das Brechen von Änderungen auf wichtige Versionen beschränkt werden sollte. Einige Elemente (wie die Python -API) befinden sich in einem weniger stabilen Zustand und können häufiger signifikantere Veränderungen verzeichnen. Weitere Informationen zum Brechen von Änderungen und zum Migrieren zwischen den Versionen finden Sie in unseren Versionshinweise. Weitere Informationen finden Sie im Changelog. Wenn Sie mitmachen möchten, sollten Sie einen Beitrag in Betracht ziehen.
Neuveröffentlichungen werden monatlich gemacht. Weitere Informationen finden Sie unter Veröffentlichungen.
Wir haben eine schnell wachsende Community in Slack, kommen Sie zu uns!
Folgen Sie uns auf Twitter @SQLFLUFF für Ankündigungen und andere verwandte Beiträge.
Wir sind allen unseren Mitwirkenden dankbar. In diesem Projekt gibt es viel zu tun, und wir fangen gerade erst an.
Wenn Sie mehr über die Architektur von SQLfluff verstehen möchten, finden Sie hier mehr.
Wenn Sie einen Beitrag leisten möchten, lesen Sie die offenen Probleme auf GitHub. Sie können auch den Leitfaden für den Beitrag sehen.

Der schlüsselfertige Analytics Stack finden Sie unter Datacoves.com mehr.