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.
Getting Started
To get started, install the package and run sqlfluff lint or sqlfluff fix.
$ pip install sqlfluff
$ echo ” SELECT a + b FROM tbl; ” > test.sql
$ sqlfluff lint test.sql
== [test.sql] FAIL
L: 1 | P: 1 | L003 | Single indentation uses a number of spaces not a multiple of 4
L: 1 | P: 14 | L006 | Operators should be surrounded by a single space unless at the start/end of a line
L: 1 | P: 27 | L001 | Unnecessary trailing whitespace
You can also have a play using SQLFluff online.
For full CLI usage and rules reference, see the docs.
Documentation
For full documentation visit docs.sqlfluff.com.
Releases
SQLFluff is in beta phase – expect the tool to change significantly with potentially non-backward compatible api and configuration changes in future releases. If you’d like to join in please consider contributing.
New releases are made monthly. For more information, visit Releases.
SQLFluff on Slack
We have a fast-growing community on Slack, come and join us!
https://join.slack.com/t/sqlfluff/shared_invite/zt-o1f4x0e8-pZzarAIlQmKj_6ZwD16w0g
Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…
Introduction A self-signed SSL certificate is a certificate that is created and signed by the…
Introduction Debugging is an important part of Bash scripting. When a script does not work…
Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…
Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…
Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…