Skip to main content

SQLfluff

·247 words·2 mins·
SQL Software Development
Table of Contents

In this article we are going to check SQLfluff a dialect-flexible and configurable SQL linter.

Intro
#

SQLFluff is a dialect-flexible and configurable SQL linter. Designed with ELT applications in mind, SQLFluff also works with Jinja templating and dbt. SQLFluff will auto-fix most linting errors, allowing you to focus your time on what matters.

Visual Code LINT
#

Visual Code allows the integration of this tool with the following extension.

The extension expects sqlfluff to be installed and already added to the path. If it is installed but cannot be found, add the path to your preferences as seen below. Find the path by typing which sqlfluff into your terminal.

Install SQlFluff
#

Install sqlfluff locally in Arch with the following command

sudo pacman -S sqlfluff

Test locally
#

Let’s create a sample sql file.

echo "  SELECT a  +  b FROM tbl;  " > test.sql

Now validate with ANSI dialect with the command

sqlfluff lint test.sql --dialect ansi

One can fix the file with the following:

sqlfluff fix test.sql --dialect ansi

Pre-commit Hook
#

Following the previous article regarding Markdown Lint one can use the following example to configure a hook to validate SQL lint for a given dialect.

Conclusion
#

SQLFluff is a very interesting tool to make sure all your team follow the same styling pattern when producing SQL code. Choose the corresponding dialect and make sure to integrate this tool as a pre-hook on your code repository.

References
#