[sqlfluff] rules = AL01, AL02, AL03, AL04, AL05, AL06, AL08, AM01, AM02, AM03, AM05, AM06, AM07, CP01, CP02, CP03, CP04, CP05, CV01, CV02, CV03, CV05, CV07, CV08, CV10, CV11, JJ01, LT01, LT02, LT03, LT04, LT05, LT06, LT07, LT09, LT10, LT11, LT12, LT13, RF01, RF02, RF04, RF05, RF06, ST01, ST02, ST03, ST04, ST05, ST07, ST08, ST09 # Supported dialects https://docs.sqlfluff.com/en/stable/dialects.html # Or run 'sqlfluff dialects' dialect = snowflake # One of [raw|jinja|python|placeholder] templater = jinja # The standard max_line_length is 80 in line with the convention of # other tools and several style guides. Many projects however prefer # something a little longer. # Set to zero or negative to disable checks. max_line_length = 88 # If using the dbt templater, we recommend setting the project dir. # [sqlfluff:templater:dbt] # project_dir = ./ # Common [sqlfluff:indentation] indent_unit = space tab_space_size = 2 indented_joins = True indented_using_on = True indented_on_contents = False indented_then = True indented_then_contents = False allow_implicit_indents = True template_blocks_indent = True # Aliasing # https://docs.sqlfluff.com/en/stable/rules.html#aliasing-bundle # we activate rules AL01, AL02, AL03, AL04, AL05, AL06, AL08 [sqlfluff:rules:aliasing.table] aliasing = explicit [sqlfluff:rules:aliasing.column] aliasing = explicit [sqlfluff:rules:aliasing.expression] allow_scalar = False [sqlfluff:rules:aliasing.unique.table] [sqlfluff:rules:aliasing.unused] [sqlfluff:rules:aliasing.length] min_alias_length = 2 [sqlfluff:rules:aliasing.unique.column] aliasing = explicit # Ambiguity # https://docs.sqlfluff.com/en/stable/rules.html#aliasing-bundle # we activate rules AM01, AM02, AM03, AM05, AM06, AM07 [sqlfluff:rules:ambiguous.distinct] [sqlfluff:rules:ambiguous.union] [sqlfluff:rules:ambiguous.order_by] # does not trigger [sqlfluff:rules:ambiguous.join] fully_qualify_join_types = inner [sqlfluff:rules:ambiguous.column_references] group_by_and_order_by_style = consistent [sqlfluff:rules:ambiguous.set_columns] # Capitalisation # https://docs.sqlfluff.com/en/stable/rules.html#capitalisation-bundle # we activate rules CP01, CP02, CP03, CP04, CP05 [sqlfluff:rules:capitalisation.keywords] capitalisation_policy = upper [sqlfluff:rules:capitalisation.identifiers] extended_capitalisation_policy = lower unquoted_identifiers_policy = all [sqlfluff:rules:capitalisation.functions] extended_capitalisation_policy = upper [sqlfluff:rules:capitalisation.literals] # triggers when inconsistent, but not forces upper extended_capitalisation_policy = upper [sqlfluff:rules:capitalisation.types] extended_capitalisation_policy = upper # Convention # https://docs.sqlfluff.com/en/stable/rules.html#convention-bundle # we activate rules CV01, CV02, CV03, CV05, CV07, CV08, CV10, CV11 [sqlfluff:rules:convention.not_equal] [sqlfluff:rules:convention.coalesce] [sqlfluff:rules:convention.select_trailing_comma] select_clause_trailing_comma = forbid [sqlfluff:rules:convention.is_null] [sqlfluff:rules:convention.statement_brackets] # is not triggered [sqlfluff:rules:convention.left_join] [sqlfluff:rules:convention.quoted_literals] # unsure if working as expected preferred_quoted_literal_style = single_quotes [sqlfluff:rules:convention.casting_style] preferred_type_casting_style = cast # Jinja # https://docs.sqlfluff.com/en/stable/rules.html#jinja-bundle # we activate rules JJ01 [sqlfluff:rules:jinja.padding] # Layout # https://docs.sqlfluff.com/en/stable/rules.html#layout-bundle # we activate rules LT01, LT02, LT03, LT04, LT05, LT06, LT07, LT09, LT10, LT11, LT12, LT13 [sqlfluff:rules:layout.spacing] [sqlfluff:rules:layout.indent] [sqlfluff:layout:type:operators] line_position = leading [sqlfluff:layout:type:comma] line_position = leading [sqlfluff:rules:layout.long_lines] ignore_comment_lines = True ignore_comment_clauses = True [sqlfluff:rules:layout.functions] [sqlfluff:rules:layout.cte_bracket] [sqlfluff:rules:layout.select_targets] [sqlfluff:rules:layout.select_modifiers] [sqlfluff:rules:layout.set_operators] [sqlfluff:rules:layout.end_of_file] [sqlfluff:rules:layout.start_of_file] # References # https://docs.sqlfluff.com/en/stable/rules.html#references-bundle # we activate rules RF01, RF02, RF04, RF05, RF06 [sqlfluff:rules:references.from] [sqlfluff:rules:references.qualification] [sqlfluff:rules:references.keywords] quoted_identifiers_policy = all unquoted_identifiers_policy = all ignore_comment_lines = True ignore_comment_clauses = True ignore_words = final [sqlfluff:rules:references.special_chars] [sqlfluff:rules:references.quoting] # Structure # https://docs.sqlfluff.com/en/stable/rules.html#structure-bundle # we activate rules ST01, ST02, ST03, ST04, ST05, ST07, ST08, ST09 [sqlfluff:rules:structure.else_null] [sqlfluff:rules:structure.simple_case] [sqlfluff:rules:structure.unused_cte] [sqlfluff:rules:structure.nested_case] [sqlfluff:rules:structure.subquery] [sqlfluff:rules:structure.using] [sqlfluff:rules:structure.distinct] [sqlfluff:rules:structure.join_condition_order] preferred_first_table_in_join_clause = later