SQLFluff如何决定标识符大小写?能否控制该行为?
控制SQLFluff标识符大小写规则的方法
- 问题本质:SQLFluff的
capitalisation.identifiers规则默认采用consistent策略,会自动检测现有代码中标识符的大小写倾向,进而统一整个文件的标识符格式。 - 手动指定大小写规则:通过修改项目根目录的
.sqlfluff配置文件(无则新建),强制设定固定的大小写规则:- 在配置文件中添加或修改
[sqlfluff:rules:capitalisation.identifiers]区块 - 设置
capitalisation_policy参数,可选值包括:upper:强制所有未加引号的标识符转为大写lower:强制所有未加引号的标识符转为小写consistent:保持现有代码的大小写一致性(默认行为)
- 在配置文件中添加或修改
- 示例配置(强制大写):
[sqlfluff] dialect = sqlite [sqlfluff:rules:capitalisation.identifiers] capitalisation_policy = upper
- 生效验证:配置完成后,重新执行
sqlfluff fix --dialect sqlite Cart.uc.sql或对应文件,工具会严格按照指定的大小写规则统一标识符,不再自动适配原有文本的大小写倾向。
内容的提问来源于stack exchange,提问作者David Tonhofer
相关产品推荐
相关产品推荐

