面向人类的模块化sql linting
sqlfluff的Python项目详细描述
sqlfluff:scroll::黑色笔尖::火花:
针对人类的sql linter
厌倦了没有一个好的sql linter来处理任何一个拨号盘 在一起工作?fluff是一个可扩展的、模块化的linter,旨在帮助您编写 好的sql,在它到达数据库之前捕获错误和坏的sql。
入门
要开始安装这个包,先创建一个sql文件,然后运行sqlfluff并指向该文件。
$ pip install sqlfluff $ echo" SELECT a + b FROM tbl; " > test.sql $ sqlfluff lint test.sql ==[test.sql] FAIL L: 1| P: 1| L003 | Single indentation uses a number of spaces not a multiple of 4 L: 1| P: 14| L006 | Operators should be surrounded by a single space unless at the start/end of a line L: 1| P: 27| L001 | Unnecessary trailing whitespace
用法
有关用法的更多详细信息,请参阅githubhere上的文档。
进度
这个项目有很多事情要做,我们才刚刚开始。
- [X]命令行界面
- [X]基本的linting,包括路径和文件
- [X]版本信息
- [X]精确格式化的linting成功或失败读数
- []在linting步骤中过滤到特定代码
- []允许对某些linting代码进行基本更正
- []基本ANSI线头
- [X]简单的空白测试
- [X]运算符周围的空格
- [X]缩进(制表符和空格的大小和组合)
- []行之间的缩进和何时缩进
- []空行数
- []注释缩进
- []可配置的线头
- []用于配置的命令行选项
- []读取配置文件的能力
- []忽略特定规则
- []指定要使用的分词方言
- []预先配置详细信息
- []方言
- []MySQL
- []红移
- []从某种配置文件中检测方言
更改日志
该项目的所有显著变化都将记录在本文件中。
格式基于Keep a Changelog, 这个项目遵循Semantic Versioning。
[0.0.6]-2018-11-15
添加了
- 数字匹配
更改
- 修复了运算符解析和linting(包括允许
(*)
的异常)
[0.0.5]-2018-11-15
添加了
- 更好的文档,包括docs.md
更改
- 修复了逗号解析和linting
[0.0.4]-2018-11-14
添加了
- 添加了运算符regex
- 为匹配者添加优先级以解决某些问题
- 添加了对运算符regex的测试
- 增加了在规则中初始化内存的功能
[0.0.3]-2018-11-14
添加了
- 重构规则以允许具有内存的规则
- 添加逗号线规则(更正单个字符匹配项)
- 添加混合缩进过毛规则
- 与Circleci、codecov和许多徽章集成
更改
- 更改了版本信息的导入以修复导入config.ini时的错误
- 添加了一些详细信息的基本冲突/文件报告
- 重构规则以简化定义
- 重构color cli输出以使其更可重用
[0.0.2]-2018-11-09
添加了
- 较长的项目说明 正确退出码< /LI>
- 彩色输出的colorama
更改
- 显著的cli更改
- 从cli得到的输出大大改进
[0.0.1]-2018-11-07
添加了
- 初始提交!-非常α
- 重组为package layout
- 添加tox和pytest以使它们工作