配置 SQLFluff 规则

Configure SQLFluff rules

我使用SQLFluff 来确保公司语法统一并减少运行dbt 模型之前的错误警告。由于我们的语法与 SQLFluff 的语法不完全匹配,因此我想进行一些更改。

SQLFluff 提供的 Rules References 帮助我设置了 Inline Ignoring Errors,如下面的代码所示(最后一行代码) .

所以我有两个问题,在 SQLFluff 的规则参考的帮助下我也无法回答。

  1. 我想将规则 L032 设置为默认值 'false' 而无需每次都在我的 SQL 中手动输入。

  2. 如何更改关于规则 L016 的行的最大长度?我想设置默认值,例如150.

SELECT
    country.country_name,
    country.population,
    currency.currency_name,
    currency.currency_id,
    currency.strange_long_variable_name_which_is_too_long as not_so_long_variable_name
FROM country
LEFT JOIN currency
    USING (country) -- noqa: L032

我试图用 Rules References 来解决这个问题,但无法解决。非常感谢您的帮助!

尝试查看 .sqlfluff 配置文件

https://docs.sqlfluff.com/en/stable/configuration.html#

@suhprano 的回答的帮助下,我找到了适合我的问题的解决方案。因此,我将 post 回答我自己的问题。我这样做是为了给其他类似问题的助手提供帮助。

我在我的用户配置文件文件夹中创建了 .sqlfluff 文件。在这个文件中,我包含了以下内容:

[sqlfluff]
exclude_rules = L032
[sqlfluff:rules]
max_line_length = 150

在这种情况下,SQLFluff 将从在此变量指定的路径中找到的任何 .sql 文件加载配置。