推荐:sqlfmt——SQL自动格式化工具

推荐:sqlfmt——SQL自动格式化工具

项目介绍

sqlfmt 是一个灵感来源于编程语言格式化器如blackgofmtrustfmt的神器,但它是专为SQL设计的。这个强大的命令行工具可以自动格式化你的dbt SQL文件,帮助你专注于业务逻辑,而无需担心代码风格统一问题。它快速、直观且与Jinja模板兼容,无论你是Linux、macOS还是Windows用户,都能轻松上手。

项目技术分析

sqlfmt 不是通过解析AST(抽象语法树)来工作,而是通过对输入文件进行词法分析并跟踪影响格式化的少数关键令牌。这种方法使它运行速度快,维护简单,并能有效地扩展支持更多语句类型。目前,sqlfmt 支持selectdeletegrantrevoke以及create function等语句,未来计划扩展到更全面的DDL和DML。

项目及技术应用场景

  1. 团队协作提升 - 使用sqlfmt可消除关于代码风格的讨论,使团队合作更加顺畅。
  2. 提高效率 - 省去手动格式化的时间,专注核心业务开发。
  3. Jinja模板支持 - 它处理用户看到的代码,不需要理解模板渲染后的结果。
  4. 无缝集成 - 作为Python CLI工具,可以本地安装在任何操作系统上,也可以在CI/CD流程中使用,与dbt、pre-commit、SQLFluff、VSCode和GitHub Actions等工具完美配合。

项目特点

  1. 一键式风格统一 - 非配置化设计,让整个团队遵循同一编码风格。
  2. 高速处理 - 处理大量文件时速度极快,仅对改动过的文件进行操作。
  3. Jinja友好 - 能够正确处理Jinja模板中的SQL片段。
  4. 多平台兼容 - 兼容Linux、macOS和Windows系统。

尝试与安装

你可以直接访问sqlfmt.com尝试在线版本,或使用pipx命令在Python环境中安装:

pipx install shandy-sqlfmt

若需安装额外支持Jinja的black,可以执行:

pipx install shandy-sqlfmt[jinjafmt]

了解更多安装选项,参阅官方文档

开始使用

在开始之前,请确保将文件添加至版本控制系统,以便于回滚可能由sqlfmt引起的更改。要格式化当前目录及其子目录下的所有.sql.sql.jinja文件,只需运行:

sqlfmt .

如果你想检查而不修改文件,可以使用--check选项;想查看格式化差异,使用--diff选项。

结论

sqlfmt 是一款旨在简化SQL格式化、增强团队协作的利器。其快速、易用、兼容广泛的特点使其成为SQL开发者的理想选择。马上尝试并体验一下sqlfmt如何提升你的工作效率吧!要深入了解更多信息,包括详细的文档和各种整合方式,敬请访问docs.sqlfmt.com

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裴辰垚Simone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值