Von Tim Platzek auf Mittwoch, 05. Februar 2025
Kategorie: Data Management

Fluffig und fehlerfrei: SQLFluff übernimmt das Linting

Linting ist bei vielen Programmiersprachen, wie Java und Python, schon lange gang und gäbe, doch ist das auch mit SQL-Skripten möglich? Und was ist Linting überhaupt?

SQL-Code kann schnell komplex und schwer zu überblicken sein. Besonders bei umfangreichen Projekten mit Hunderten von Zeilen schleicht sich oft der eine oder andere Fehler ein – sei es eine falsche Einrückung, ein vergessenes Semikolon oder eine fehlerhafte Klammer. Hier kommt SQLFluff ins Spiel: ein Linting-Tool, das SQL-Code analysiert, Fehler identifiziert und sogar automatisch behebt. 

Was ist SQLFluff?

SQLFluff ist ein Python-basiertes Linting-Tool speziell für SQL. Es hilft dabei, SQL-Code sauber, konsistent und fehlerfrei zu halten. Zu den Kernfunktionen zählen:

Die Konfiguration

Aber woher weiß SQLFluff überhaupt, nach welchen Regeln es den Code analysieren soll? Hierfür kommt die Konfiguration ins Spiel. Solange keine eigene Konfiguration gesetzt wurde, nutzt das Tool seine Standardkonfiguration und lintet nach dieser den SQL-Code. Es gibt jedoch die Möglichkeit, seine eigene Konfiguration zu schreiben.

Dies ist möglich durch eine Konfigurationsdatei, welche auf den Namen .sqlfluff hört. Hierbei ist der Speicherort der Datei ausschlaggebend:

In dieser Datei wird festgelegt, nach welchem Dialekt (DBMS-spezifisch), nach welchen Regeln, nach welchen Einrückungen und weiteren Möglichkeiten der SQL-Code gelintet werden soll. Hierbei können alle Standard-Regeln von SQLFluff genutzt werden. Es können explizite Regeln deaktiviert oder aktiviert werden und es kann bestimmt werden, welche Wörter groß- oder kleingeschrieben werden sollen.

Zudem bietet SQLFluff eine lange Liste an möglichen Dialekten. Darunter sind DBMS wie MySQL, PostgreSQL, MariaDB, Oracle und weitere vertreten.

Wem das alles nicht reicht, der kann seiner Fantasie freien Lauf lassen und sich eigene Regeln in Python programmieren, die als Plugin in SQLFluff integriert werden können.

Wie wird das Tool angewandt?

Jetzt wissen wir, was SQLFluff kann, aber nicht, wie man es nutzt. Es gibt verschiedene Möglichkeiten, wie das Tool genutzt werden kann.

Beispiele für CLI-Befehle: 

Fazit

SQLFluff ist ein leistungsstarkes Tool, um SQL-Code effizient zu linten und zu fixen. Dank seiner hohen Flexibilität, umfassenden Anpassungsmöglichkeiten und der Integration in IDEs und Pipelines eignet es sich sowohl für kleine als auch für große Projekte.

Wenn wir euer Interesse zu SQLFluff geweckt haben und ihr es in euren Projekten integrieren wollt, aber noch Fragen habt, oder Hilfe benötigt, wendet euch gerne an uns! 

Seminarempfehlung

Verwandte Beiträge

Kommentare hinterlassen