You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行sqlfluff lint遇Jinja模板错误,寻求解决方案

解决SQLFluff Jinja模板加载错误

问题原因

SQLFluff无法定位你的Jinja模板文件,需要明确配置模板加载路径。添加modules/__init__.py是Python包的规范,对SQLFluff的Jinja加载逻辑无效。

解决步骤

1. 创建/修改SQLFluff配置文件

在项目根目录创建sqlfluff.toml(推荐)或.sqlfluff配置文件,添加模板加载器配置:

使用toml格式(sqlfluff.toml)

[sqlfluff]
dialect = "snowflake"

[templating]
# 配置FileSystemLoader,指定项目根目录为搜索路径
loaders = [
  { type = "FileSystemLoader", path = "." },
]

使用ini格式(.sqlfluff)

[sqlfluff]
dialect = snowflake

[templating]
loaders = FileSystemLoader:.

2. 验证导入路径

确保demo.sql中的模板导入路径是相对于配置文件所在根目录的,你的现有写法是正确的:

{% from 'modules/grant_privilege_on_integration_to_role.j2' import grant_privilege_on_integration %}

3. 重新运行lint命令

sqlfluff lint demo.sql

(配置文件已指定dialect,命令行无需重复添加--dialect snowflake,保留也不影响)

额外说明

  • SQLFluff的Jinja模板加载依赖配置中的loaders项,和Python包结构无关,不需要保留__init__.py文件
  • 若只想让加载器搜索modules目录,可把路径改为"./modules",此时demo.sql中的导入路径需简化为grant_privilege_on_integration_to_role.j2

内容的提问来源于stack exchange,提问作者jamiet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:45:10