SQLFluff et analyse de style
Analysez le style SQL avec SQLFluff, imposez les conventions de votre équipe et corrigez automatiquement les problèmes courants de mise en forme.
SQLFluff et analyse de style est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.
Pourquoi vérifier le style SQL ?
Le SQL est écrit manuellement et son formatage peut facilement manquer de cohérence. La vérification automatique du style impose une convention commune :
- Mots-clés en minuscules ou en UPPER
- Virgule en fin ou en début de ligne
- Conventions de nommage pour les tables et les colonnes
- Indentation
- Anti-schémas (SELECT *, JOIN ambigus, etc.)
SQLFluff : l’outil de vérification de référence
Open source, sensible au dialecte, compatible avec de nombreuses variantes de SQL et particulièrement adapté à dbt :
pip install sqlfluff
sqlfluff lint models/
sqlfluff fix models/ # auto-fix where safeConfigurer SQLFluff
Une configuration .sqlfluff :
[sqlfluff]
dialect = postgres
templater = dbt
max_line_length = 120
[sqlfluff:rules:capitalisation.keywords]
capitalisation_policy = upper
[sqlfluff:rules:capitalisation.identifiers]
extended_capitalisation_policy = lowerRègles standard
SQLFluff propose plus de 50 règles concernant le nommage, la disposition, la capitalisation, la structure et l’ambiguïté. Désactivez-les individuellement :
[sqlfluff]
exclude_rules = AM05, ST05Désactivation en ligne
Ignorez une vérification pour une seule ligne :
SELECT * -- noqa: AM04
FROM users;Intégration avec dbt
SQLFluff comprend Jinja et ref() :
sqlfluff lint --templater dbt models/Déclencheur de prévalidation
Exécutez SQLFluff avant chaque validation :
# .pre-commit-config.yaml
repos:
- repo: https://github.com/sqlfluff/sqlfluff
rev: 3.0.0
hooks:
- id: sqlfluff-lint
- id: sqlfluff-fixDans l’intégration continue
Bloquez les demandes de fusion contenant des erreurs de vérification du style :
# GitHub Actions
- name: SQLFluff
run: |
pip install sqlfluff
sqlfluff lint models/Anti-schémas à vérifier
- L044/AM04 — Évitez SELECT *
- AM05 — Évitez les JOIN implicites (virgule)
- ST05 — Évitez les sous-requêtes dans FROM (utilisez des CTE)
- L010 — Capitalisation incohérente
Formateur ou analyseur statique
SQLFluff fait les deux : effectue les vérifications AND et formate automatiquement :
sqlfluff format models/ # newer: dedicated format command
sqlfluff fix models/ # alias for format + safe rule fixesAutres outils
- pg_format — met joliment en forme SQL (axé sur PostgreSQL)
- SQLFluff est l'outil le plus utilisé ; il s'intègre à dbt
- mise en forme à l'enregistrement dans les éditeurs (VS Code, JetBrains)
Récapitulatif
L'analyse statique élimine les débats sur le style et détecte les vrais bogues.
- SQLFluff pour l'analyse statique et la mise en forme
- .sqlfluff configure les règles
- Exécutez-le dans le pré-commit et la CI
- Combinez-le avec dbt pour des flux de travail SQL de bout en bout
Vérification rapide
Quel outil libre constitue la référence pour l'analyse statique de SQL (et fonctionne avec les modèles dbt) ?
Questions Fréquemment Posées
La leçon « SQLFluff et analyse de style » est-elle gratuite ?
Oui — le texte complet de « SQLFluff et analyse de style » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « SQLFluff et analyse de style » ?
Analysez le style SQL avec SQLFluff, imposez les conventions de votre équipe et corrigez automatiquement les problèmes courants de mise en forme. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer SQL Academy ?
Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « SQLFluff et analyse de style » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?
Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Fondamentaux de DBT (Data Build Tool)
- SQLFluff et analyse de style
- Tester le SQL : tests dbt et Great Expectations
- CI pour les modifications de schéma (GitHub Actions)