跳转到主要内容

Flake8插件,用于检查SQL代码与主观风格规则的一致性

项目描述

Build Status

Flake8-SQL是一个flake8插件,用于查找SQL查询并将它们与主观风格进行比较。这种风格主要遵循SQL风格指南,但在以下两个方面有所不同。首先,对齐应该与INTO而不是INSERT关键字,即

INSERT INTO table (columns)
     VALUES (values)

其次,JOIN应该与河的左侧对齐,即

SELECT *
  FROM table1
  JOIN table2 ON ...

警告

Q440 关键字没有大写

所有SQL保留关键字都应该大写。

Q441 名称无效

所有非SQL关键字都应该使用snake_case,以字母开头,不以下划线结尾。由于限制,snake_case检查确保单词是小写的。

Q442 避免缩写关键字

避免使用缩写关键字,而应使用全长度版本。

Q443 周围的逗号空格不正确

逗号后面应该有空格,但不能有前导空格。

Q444 周围的等于不正确

等于应该用空格包围。

Q445 根关键字之间缺少行间距

根关键字 SELECTFROMINSERTVALUESDELETE FROMWHEREUPDATEANDORSET 应该单独一行(除非整个查询在一行中)。

Q446 分号后缺少换行符

分号必须位于行尾。

Q447 根关键字应该右对齐

根关键字 SELECTFROMINSERTVALUESWHEREUPDATEANDORJOINSET 应该右对齐,即。

SELECT *
  FROM table

Q448 子查询应对齐到河的右侧

任何子查询都应对齐到河的右侧,即。

SELECT *
  FROM table
 WHERE column IN
       (SELECT column
          FROM table)

Q449 令牌应对齐到河的右侧

任何令牌都应对齐到河的右侧,即

SELECT column1,
       column2
  FROM table

配置

有时使用保留关键字作为标识符比努力避免它更简单。为此,将 sql-excepted-names 选项设置为这些名称的逗号分隔列表。

限制

代码中查找字符串常量,如果它们包含选择从、插入到值、更新设置或从删除,则被视为 SQL。这可能导致错误阳性,在这种情况下,只需添加 # noqa 以使此插件忽略该字符串。

F-字符串使用格式化值,{...},在分析之前用常量 formatted_value 替换。这导致错误消息引用 formatted_value 而不是实际写入的内容。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关 安装软件包 的更多信息。

源分发

flake8-SQL-0.4.1.tar.gz (10.0 kB 查看哈希值

上传时间

构建分发

flake8_SQL-0.4.1-py2.py3-none-any.whl (7.9 kB 查看哈希值

上传时间 Python 2 Python 3

由以下支持