0Pricing
SQL Academy · Lección

SQLFluff y linting

Analice el SQL con SQLFluff, haga cumplir un estilo común y corrija automáticamente los problemas de formato habituales.

SQLFluff y linting es una lección gratuita de SQL Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SQL Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SQL Academy incluye 4 lecciones en total.

¿Por qué aplicar lint al SQL?

El SQL se escribe manualmente, por lo que es fácil darle un formato incoherente. El linting impone automáticamente un estilo común:

  • Palabras clave en minúsculas o MAYÚSCULAS
  • Comas al final o al principio de la línea
  • Convenciones de nombres para tablas y columnas
  • Sangría
  • Antipatrones (SELECT *, JOIN ambiguos, etc.)

SQLFluff: el linter de facto

Es de código abierto, admite distintos dialectos y muchos estilos de SQL, y funciona muy bien con dbt:

pip install sqlfluff

sqlfluff lint models/
sqlfluff fix models/   # auto-fix where safe

Configurar SQLFluff

Una configuración de .sqlfluff:

[sqlfluff]
dialect = postgres
templater = dbt
max_line_length = 120

[sqlfluff:rules:capitalisation.keywords]
capitalisation_policy = upper

[sqlfluff:rules:capitalisation.identifiers]
extended_capitalisation_policy = lower

Reglas estándar

SQLFluff tiene más de 50 reglas sobre nombres, distribución, uso de mayúsculas, estructura y ambigüedad. Puede deshabilitarlas por regla:

[sqlfluff]
exclude_rules = AM05, ST05

Deshabilitación en línea

Omita una comprobación para una sola línea:

SELECT *  -- noqa: AM04
FROM users;

Integración con dbt

SQLFluff entiende Jinja y ref():

sqlfluff lint --templater dbt models/

Hook de pre-commit

Ejecute SQLFluff antes de cada commit:

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/sqlfluff/sqlfluff
    rev: 3.0.0
    hooks:
      - id: sqlfluff-lint
      - id: sqlfluff-fix

En CI

Bloquee los PR con errores de lint:

# GitHub Actions
- name: SQLFluff
  run: |
    pip install sqlfluff
    sqlfluff lint models/

Antipatrones que debe detectar el lint

  • L044/AM04: evite SELECT *
  • AM05: evite JOIN implícitos (comas)
  • ST05: evite subconsultas en FROM (utilice CTE)
  • L010: uso incoherente de mayúsculas

Formateador frente a linter

SQLFluff hace ambas cosas: comprueba y formatea automáticamente:

sqlfluff format models/    # newer: dedicated format command
sqlfluff fix models/       # alias for format + safe rule fixes

Otras herramientas

  • pg_format — formatea SQL de forma legible (centrado en PostgreSQL)
  • SQLFluff es la herramienta más utilizada e se integra con dbt
  • formateo al guardar en los editores (VS Code, JetBrains)

Resumen

El lintado elimina los debates sobre el estilo y detecta errores reales.

  • SQLFluff para lintado y formateo
  • .sqlfluff configura las reglas
  • Ejecute el lintado en pre-commit y CI
  • Combínelo con dbt para flujos de trabajo SQL de extremo a extremo

Comprobación rápida

¿Qué herramienta es el estándar de código abierto para analizar SQL y funciona con las plantillas de dbt?

Preguntas frecuentes

¿La lección «SQLFluff y linting» es gratis?

Sí — el texto completo de «SQLFluff y linting» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SQL Academy, actualiza a CoddyKit PRO. El curso de SQL Academy incluye 4 lecciones en total.

¿Qué aprenderé en «SQLFluff y linting»?

Analice el SQL con SQLFluff, haga cumplir un estilo común y corrija automáticamente los problemas de formato habituales. Practicas SQL Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar SQL Academy?

No se requiere experiencia previa. SQL Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «SQLFluff y linting»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de SQL Academy?

Sí. Cada lección de SQL Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conceptos básicos de DBT (Data Build Tool)
  2. SQLFluff y linting
  3. Pruebas de SQL: pruebas de dbt y Great Expectations
  4. CI para cambios de esquema (GitHub Actions)
← Volver a SQL Academy