SQLFluff

SQLFluff is a Python SQL linter/formatter with 74 stable bundle rule codes.

Coverage: 100% (74 covered, 0 partial, 0 not planned) of 74 upstream checks.

Native rules use the sql-style tag and run with preset=strict or preset=enterprise, not default. See Migrating from SQLFluff.

← Tool parity

Parity map

SQLFluff code Status dbt-doctor rule(s)
AL01 Covered sql-explicit-table-alias
AL02 Covered sql-explicit-column-alias
AL03 Covered sql-expression-alias-required
AL04 Covered sql-unique-table-aliases
AL05 Covered sql-no-self-alias
AL06 Covered sql-alias-length-min
AL07 Covered sql-self-join-alias-distinct
AL08 Covered sql-unique-column-aliases
AL09 Covered sql-alias-not-keyword
AL10 Covered sql-derived-table-alias-required
AM01 Covered sql-ambiguous-distinct-group-by
AM02 Covered sql-union-explicit-qualifier
AM03 Covered sql-order-by-direction-consistency
AM04 Covered sql-no-positional-group-order
AM05 Covered sql-ambiguous-join-type
AM06 Covered sql-ambiguous-order-by-target
AM07 Covered sql-set-operator-column-count-match
AM08 Covered sql-distinct-with-order-by-non-selected
AM09 Covered sql-order-by-distinct-compatibility
CP01 Covered sql-keywords-case
CP02 Covered sql-unquoted-identifiers-case
CP03 Covered sql-function-name-case
CP04 Covered sql-boolean-null-case
CP05 Covered sql-data-type-case
CV01 Covered sql-boolean-comparison-simplify
CV02 Covered sql-no-else-null-case
CV03 Covered sql-select-trailing-comma
CV04 Covered sql-count-star-preferred
CV05 Covered sql-cast-style-consistency
CV06 Covered sql-null-literal-style
CV07 Covered sql-boolean-literal-style
CV08 Covered sql-coalesce-preferred
CV09 Covered sql-between-symmetric-style
CV10 Covered sql-quoted-literal-style
CV11 Covered sql-zero-length-string-style
CV12 Covered sql-join-condition-in-on-clause
JJ01 Covered jinja-tag-padding, jinja-syntax-valid
LT01 Covered sql-trailing-whitespace
LT02 Covered sql-indentation-consistency
LT03 Covered sql-operator-spacing
LT04 Covered sql-leading-commas, sql-trailing-commas, sql-select-trailing-comma
LT05 Covered model-line-length
LT06 Covered sql-function-spacing
LT07 Covered sql-cte-bracket-position
LT08 Covered sql-cte-blank-line-after
LT09 Covered sql-select-targets-layout
LT10 Covered sql-keywords-case
LT11 Covered sql-set-operator-newline
LT12 Covered sql-file-trailing-newline
LT13 Covered sql-no-leading-whitespace
LT14 Covered sql-clause-newline-consistency
LT15 Covered sql-max-consecutive-blank-lines
OR01 Covered sql-order-by-ordinal-unambiguous
RF01 Covered sql-reference-object-in-from
RF02 Covered sql-references-qualified
RF03 Covered sql-reference-consistency
RF04 Covered sql-reference-keyword-quoted
RF05 Covered sql-reference-special-chars-quoted
RF06 Covered sql-reference-unnecessary-quoted
ST01 Covered no-select-star
ST02 Covered sql-simple-case-preferred
ST03 Covered sql-unused-cte
ST04 Covered sql-case-nesting
ST05 Covered sql-no-subquery-in-join
ST06 Covered sql-single-statement-model
ST07 Covered sql-join-condition-required
ST08 Covered sql-distinct-parentheses
ST09 Covered sql-join-using-consistency
ST10 Covered sql-constant-expression
ST11 Covered sql-unused-join-alias
ST12 Covered sql-no-consecutive-semicolons
TQ01 Covered sql-tsql-sp-prefix
TQ02 Covered sql-tsql-bare-temp-table
TQ03 Covered sql-tsql-sys-schema-qualified
Mode Use
Native default Fast no-Python SQL linting
--use-sqlfluff Deprecated fallback mode
Both Migration period
npx dbt-doctor@latest
# Deprecated fallback mode:
npx dbt-doctor@latest --use-sqlfluff