SQLFluff dan Linting
Lakukan lint pada SQL dengan SQLFluff, terapkan gaya penulisan standar, dan perbaiki otomatis masalah pemformatan umum
SQLFluff dan Linting adalah pelajaran SQL Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SQL Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SQL Academy mencakup 4 pelajaran total.
Mengapa Memeriksa Gaya SQL
SQL ditulis secara manual sehingga mudah diformat secara tidak konsisten. Pemeriksaan gaya menerapkan gaya standar secara otomatis:
- Kata kunci huruf kecil vs UPPER
- Koma di akhir vs awal baris
- Konvensi penamaan untuk tabel dan kolom
- Indentasi
- Pola buruk (SELECT *, penggabungan ambigu, dan sebagainya)
SQLFluff: Alat Pemeriksa yang Menjadi Standar
Perangkat lunak sumber terbuka yang memahami berbagai dialek, mendukung banyak variasi SQL, dan bekerja sangat baik dengan dbt:
pip install sqlfluff
sqlfluff lint models/
sqlfluff fix models/ # auto-fix where safeMengonfigurasi SQLFluff
Konfigurasi .sqlfluff:
[sqlfluff]
dialect = postgres
templater = dbt
max_line_length = 120
[sqlfluff:rules:capitalisation.keywords]
capitalisation_policy = upper
[sqlfluff:rules:capitalisation.identifiers]
extended_capitalisation_policy = lowerAturan Standar
SQLFluff memiliki lebih dari 50 aturan — penamaan, tata letak, kapitalisasi, struktur, dan ambiguitas. Nonaktifkan berdasarkan aturan:
[sqlfluff]
exclude_rules = AM05, ST05Menonaktifkan Secara Sebaris
Lewati pemeriksaan untuk satu baris:
SELECT * -- noqa: AM04
FROM users;Integrasi dengan dbt
SQLFluff memahami Jinja dan ref():
sqlfluff lint --templater dbt models/Pengait Sebelum Komit
Jalankan SQLFluff sebelum setiap komit:
# .pre-commit-config.yaml
repos:
- repo: https://github.com/sqlfluff/sqlfluff
rev: 3.0.0
hooks:
- id: sqlfluff-lint
- id: sqlfluff-fixDi CI
Blokir PR dengan kesalahan pemeriksaan:
# GitHub Actions
- name: SQLFluff
run: |
pip install sqlfluff
sqlfluff lint models/Pola Buruk yang Perlu Diperiksa
- L044/AM04 — Hindari SELECT *
- AM05 — Hindari JOIN implisit (koma)
- ST05 — Hindari subkueri dalam FROM (gunakan CTE)
- L010 — Kapitalisasi tidak konsisten
Pemformat vs Pemeriksa Gaya
SQLFluff melakukan keduanya — memeriksa AND memformat otomatis:
sqlfluff format models/ # newer: dedicated format command
sqlfluff fix models/ # alias for format + safe rule fixesAlat Lain
- pg_format — merapikan format SQL (berfokus pada PostgreSQL)
- SQLFluff paling banyak digunakan; terintegrasi dengan dbt
- pemformatan saat disimpan di editor (VS Code, JetBrains)
Ringkasan
Pemeriksaan gaya menghilangkan perdebatan tentang gaya dan menemukan bug nyata.
- SQLFluff untuk pemeriksaan gaya dan pemformatan
- .sqlfluff mengatur aturan
- Jalankan dalam pre-commit dan CI
- Gabungkan dengan dbt untuk alur kerja SQL dari awal hingga akhir
Pemeriksaan Singkat
Alat mana yang menjadi standar sumber terbuka untuk memeriksa SQL (dan bekerja dengan templat dbt)?
Pertanyaan yang Sering Diajukan
Apakah pelajaran “SQLFluff dan Linting” gratis?
Ya — teks lengkap “SQLFluff dan Linting” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SQL Academy, upgrade ke CoddyKit PRO. Kursus SQL Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “SQLFluff dan Linting”?
Lakukan lint pada SQL dengan SQLFluff, terapkan gaya penulisan standar, dan perbaiki otomatis masalah pemformatan umum Kamu berlatih SQL Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai SQL Academy?
Tidak diperlukan pengalaman sebelumnya. SQL Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “SQLFluff dan Linting” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran SQL Academy ini?
Ya. Setiap pelajaran SQL Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar DBT (Data Build Tool)
- SQLFluff dan Linting
- Menguji SQL: test dbt, Great Expectations
- CI untuk Perubahan Skema (GitHub Actions)