提问人:Piotr K 提问时间:11/17/2023 更新时间:11/17/2023 访问量:23
当 Jinja 代码存在时,sqlfluff 会忽略所有内容
sqlfluff ignores everything when jinja code present
问:
我注意到dbt中sqlfluff的奇怪行为。当我添加用于增量刷新的 jinja 代码时,它不会显示警告。
例如,对于此代码,sqlfluff 显示警告(例如,大写命令,没有显式表别名):
SELECT *
FROM orders o
LEFT JOIN {{ ref('cars') }} c ON c.car_id = o.car_id
为此,它不会:
SELECT *
FROM orders o
LEFT JOIN {{ ref('cars') }} c ON c.car_id = o.car_id
{% if is_incremental() -%}
where o.updated_at > (select max(updated_at) from {{ this }})
{%- endif %}
我的文件供参考:.sqlfluff
[sqlfluff]
dialect = snowflake
templater = dbt
exclude_rules = ST06
runaway_limit = 10
max_line_length = 0
indent_unit = space
[sqlfluff:indentation]
tab_space_size = 4
[sqlfluff:layout:type:comma]
spacing_before = touch
line_position = trailing
[sqlfluff:rules:capitalisation.keywords]
capitalisation_policy = lower
[sqlfluff:rules:aliasing.table]
aliasing = explicit
[sqlfluff:rules:aliasing.column]
aliasing = explicit
[sqlfluff:rules:aliasing.expression]
allow_scalar = False
[sqlfluff:rules:capitalisation.identifiers]
extended_capitalisation_policy = lower
[sqlfluff:rules:capitalisation.functions]
capitalisation_policy = lower
[sqlfluff:rules:capitalisation.literals]
capitalisation_policy = lower
[sqlfluff:rules:ambiguous.column_references]
group_by_and_order_by_style = explicit
当我将模板器从 更改为 这工作时,它可以正常工作,但它为我的宏显示此警告:dbt
jinja
Line 6, Position 5: Found unparsable section: ',\n ,\n o.change,\n o.cost,\n ...' sqlfluff (PRS)
Undefined jinja template variable: 'my_macro_name' sqlfluff (TMP)
我阅读了此文档,但在那里没有找到答案: sqlfluff: dbt-templater
答: 暂无答案
评论