SQLfmt: 一键美化你的SQL代码

SQLfmt: 一键美化你的SQL代码

sqlfmtSQL formatter with width-aware output项目地址:https://gitcode.com/gh_mirrors/sq/sqlfmt

项目介绍

SQLfmt 是一款专为 dbt(数据构建工具)设计的 SQL 自动格式化器,它旨在提高 SQL 代码的可读性和一致性。支持多种主要数据库方言如 PostgreSQL、MySQL、Snowflake、BQ 和 Redshift 的 SELECT 语句格式化。此工具特别适合于在版本控制系统(如 Git)中的 dbt 项目,确保代码风格统一,且易于团队协作及回溯。尽管在处理特定方言和 DDL/DML 时仍处于早期阶段,但其核心功能已经相当成熟。

项目快速启动

安装 SQLfmt

首先,你需要安装 SQLfmt。推荐使用 pipx 来安装以避免环境冲突:

pipx install shandy-sqlfmt

如果你想同时处理 Jinja 模板,可以加上 [jinjafmt] 参数:

pipx install shandy-sqlfmt[jinjafmt]

格式化文件

安装完成后,你可以方便地格式化当前目录下所有 SQL 文件:

sqlfmt

对于快速检查而不是实际修改文件,使用 --check 选项:

sqlfmt --check

查看修改前后的差异而不直接修改文件,可以使用 --diff 选项:

sqlfmt --diff

应用案例和最佳实践

  1. 日常代码审查流程:集成到Git工作流中,在提交代码之前运行 sqlfmt 确保所有SQL脚本格式一致。
  2. dbt项目维护:在dbt项目开发过程中,利用SQLfmt保持Jinja模板与SQL语句的格式清晰有序,提升项目的可维护性。
  3. 教育训练:在教授SQL或数据工程课程时,使用SQLfmt作为编码标准工具,帮助学生养成良好的编程习惯。

最佳实践提示

  • 预先备份:首次使用前进行代码备份,防止意外格式更改导致的问题。
  • 版本控制集成:在预提交钩子中使用SQLfmt,自动格式化即将提交的代码。
  • 配置线长:通过 --line-length-l 设置合适的行长度,默认是88字符。

典型生态项目

虽然SQLfmt本身专注于SQL格式化,但它与其他技术栈和工具的结合使用构成了其生态系统的一部分。例如:

  • pre-commit: 可以配置成git的pre-commit hook,保证每次提交前代码都经过格式化。
  • VSCode插件: 开发者可以探索与Visual Studio Code等IDE集成的插件,实现代码高亮和实时格式化。

通过这些整合,SQLfmt不仅限于命令行工具,而是成为数据工程师和分析师日常工作中不可或缺的部分,促进了代码质量和工作效率的双重提升。


此教程提供了快速上手SQLfmt的基本指南,深入应用时建议详细阅读官方文档,获取最新特性和更高级的配置方法。

sqlfmtSQL formatter with width-aware output项目地址:https://gitcode.com/gh_mirrors/sq/sqlfmt

SQL代码美化程序 SQL Pretty Printer 3.2.8 Copyright 2005-2011, Gudu Software. All Rights Reserved http://www.dpriver.com -------------------------------------------------------- Overview -------- SQL Pretty Printer is a tool that will help you beautify your SQL code. Using hotkey functionality, SQL Pretty Printer can reformat SQL statements for a wide variety of database tools such as Microsoft Query Analyzer, SQL Server Management Studio (SSMS), TOAD and PL/SQL Developer, development environments such as Visual Studio 2003/2005/2008 and Eclipse, and popular editors such as UltraEditor and EditPlus. In addition to beautifying SQL code, SQL Pretty Printer can translate SQL code into C#, Java, PHP, DELPHI and other program languages. SQL Pretty Printer also includes command line functionality, with the ability to format single files, single directories and multiple directories. SQL Pretty Printer is designed to deal with the syntax used by most popular database systems including Microsoft SQL Server, Oracle, IBM DB2, MySQL and Microsoft Access (Informix, Sybase, and PostgreSQL support is currently in development). Output conforms to most of the entry level SQL99 Standard. Add-Ins for SSMS and Visual Studio 2003/2005/2008/2011 are available. APIs for dotnet and COM version are available. features: ** Beautifies SQL statements utilizing highly customizable format options. ** Formats SQL on-the-fly in popular tools and editors using hotkey functionality. ** Minimizes to the system tray for quick access. ** Includes a command line for batch conversion of single files, single directories or directory trees (use the command line API in your own program!) ** Verifies SQL syntax with detailed error information. ** Converts monochrome SQL code into colorful RTF document. ** Converts monochrome SQL code into colorful HTML for easy placement in blogs and forums. ** Converts SQL to various programming languages including C#, Java, DELPHI, PHP and others. ** Currently supports SQL syntax for Microsoft SQL Server, Oracle, IBM DB2, MySQL and Microsoft Access (Informix, Sybase, and PostgreSQL support is currently in development). ** Add-In for SQL Server Management Studio available. ** Add-In for Visual Studio 2003/2005/2008 available. Requirements ------------ Pentium class CPU or higher Windows 95/98/NT/2000/XP/Vista/win7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

邓朝昌Estra

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

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

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

打赏作者

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

抵扣说明:

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

余额充值