【问题标题】:sqlfluff with named parameters带有命名参数的 sqlfluff
【发布时间】:2021-12-02 01:12:51
【问题描述】:

我正在调查项目中的 linting SQL 文件。 sqlfluff 看起来不错,我很想将它集成到 pre-commit 检查我正在处理的项目中。

但是,linter 目前正在为参数化 SQL 中的任何参数使用产生误报。

我正在使用命名样式参数:

WHERE name=:name

https://www.python.org/dev/peps/pep-0249/#paramstyle

尽管进行了多次搜索,但我找不到任何关于让 sqlfluff 与命名样式参数一起正常工作的内容。我尝试更改参数样式,但我的数据库驱动程序不喜欢它。

有人使用带有命名参数的 sqlfluff 吗?您能否指出相关文档的方向或发布解决方案?

【问题讨论】:

    标签: sql parameter-passing linter


    【解决方案1】:

    升级到最新版本的 sqlfluff 并使用 postgres dialect 可以解决这些误报错误。

    更新 sqlfluff:

    python3 -m pip install --upgrade sqlfluff
    

    选择postgres方言

    sqlfluff lint --dialect postgres database_query.sql
    

    这应该接受命名参数而不会抱怨。

    默认方言(在撰写本文时)是ansi

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 2018-08-11
      • 2018-10-27
      • 1970-01-01
      • 2019-09-16
      • 2015-03-07
      相关资源
      最近更新 更多