SQLFluff SQL linter and formatter
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
sqlfluff lint <path>
sqlfluff fix <path>
sqlfluff format <path>
sqlfluff lint --dialect <name> <path>
sqlfluff parse <file>
sqlfluff rulessqlfluff dialects
cat <file> | sqlfluff lint -
Concepts
- Template jinja / dbt
- Lex + parse per dialect
- Lint violations
- Fixed SQL written back
Lint
sqlfluff lint <path>
sqlfluff lint .sqlfluff lint -d <dialect> <path>
sqlfluff lint -r <rules> <path>
sqlfluff lint -e <rules> <path>
sqlfluff lint -f json <path>
sqlfluff lint --nofail <path>
sqlfluff lint -p <n> <path>
sqlfluff lint --stdin-filename <path> -
sqlfluff lint --warn-unused-ignores <path>
Fix and format
sqlfluff fix <path>
sqlfluff format <path>
sqlfluff fix -r <rules> <path>
sqlfluff fix --check <path>
sqlfluff fix -x _fixed <path>
sqlfluff fix --FIX-EVEN-UNPARSABLE <path>
cat <file> | sqlfluff fix -
Inspect
sqlfluff parse <file>
sqlfluff parse -c <file>
sqlfluff render <file>
sqlfluff rulessqlfluff dialects
Options
--templater / -t <name>
--config <file>
--ignore-local-config
--disable-noqaConfig
[sqlfluff]dialect = <name>
templater = jinja
exclude_rules = <list>
rules = <list>
max_line_length = <n>
[sqlfluff:rules:<rule>]
[sqlfluff:indentation]
[tool.sqlfluff]capitalisation_policy = <p>
.sqlfluffignoreIgnoring code
-- noqa-- noqa: <rules>
-- noqa: disable=<rules>
-- noqa: enable=<rules>
-- noqa: disable=all
Common rules
LT01LT02LT05LT12LT09CP01CP02AL01AL05RF01RF02ST03ST05Integration
id: sqlfluff-lint
id: sqlfluff-fix
pip install sqlfluff
pip install sqlfluff-templater-dbt
Recipes
[sqlfluff]dialect = postgresexclude_rules = LT05, ST07max_line_length = 100[sqlfluff:indentation]tab_space_size = 4
git diff --name-only origin/main -- '*.sql' \ | xargs sqlfluff lint -f github-annotation \ --annotation-level warning
repos: - repo: https://github.com/sqlfluff/sqlfluff rev: <version> hooks: - id: sqlfluff-lint - id: sqlfluff-fix
sqlfluff lint models/ --nofail -f json > baseline.jsonsqlfluff fix models/ -r LT01,LT02,CP01sqlfluff lint models/



