Ignoring Errors & Files¶
Ignoring individual lines¶
Similar to flake8’s ignore, individual lines can be ignored by adding
-- noqa to the end of the line. Additionally, specific rules can
be ignored by quoting their code or the category.
-- Ignore all errors
SeLeCt 1 from tBl ; -- noqa
-- Ignore rule CP02 & rule CP03
SeLeCt 1 from tBl ; -- noqa: CP02,CP03
-- Ignore all parsing errors
SeLeCt from tBl ; -- noqa: PRS
Note
It should be noted that ignoring TMP and PRS errors can lead to
incorrect sqlfluff lint and sqfluff fix results as SQLFluff can
misinterpret the SQL being analysed.
Ignoring line ranges¶
Similar to pylint’s “pylint” directive”, ranges of lines can be ignored by
adding -- noqa:disable=<rule>[,...] | all to the line. Following this
directive, specified rules (or all rules, if “all” was specified) will be
ignored until a corresponding – noqa:enable=<rule>[,…] | all directive.
-- Ignore rule AL02 from this line forward
SELECT col_a a FROM foo -- noqa: disable=AL02
-- Ignore all rules from this line forward
SELECT col_a a FROM foo -- noqa: disable=all
-- Enforce all rules from this line forward
SELECT col_a a FROM foo -- noqa: enable=all
.sqlfluffignore¶
Similar to Git’s .gitignore and Docker’s .dockerignore,
SQLFluff supports a .sqlfluffignore file to control which files are and
aren’t linted. Under the hood we use the python pathspec library which also
has a brief tutorial in their documentation.
An example of a potential .sqlfluffignore placed in the root of your project would be:
# Comments start with a hash.
# Ignore anything in the "temp" path
/temp/
# Ignore anything called "testing.sql"
testing.sql
# Ignore any ".tsql" files
*.tsql
Ignore files can also be placed in subdirectories of a path which is being linted and the sub files will also be applied within that subdirectory.
Ignoring types of errors¶
General categories of errors can be ignored using the --ignore command
line option or the ignore setting in .sqlfluffignore. Types of errors
that can be ignored include:
lexinglintingparsingtemplating