SQLFLUFF adalah SQL Linter dialek yang fleksibel dan dapat dikonfigurasi. Dirancang dengan mempertimbangkan aplikasi ELT, SQLFLUFF juga bekerja dengan Templating Jinja dan DBT. SQLFLUFF akan memperbaiki kesalahan yang paling banyak, memungkinkan Anda untuk memfokuskan waktu Anda pada apa yang penting.
Meskipun SQL cukup konsisten dalam implementasinya, ada beberapa dialek berbeda yang tersedia dengan variasi sintaks dan tata bahasa. SQLFLUFF saat ini mendukung dialek SQL berikut (meskipun mungkin tidak secara penuh):
sparksql dengan sintaks katalog Unity).Kami bertujuan untuk memudahkan untuk memperluas dukungan dialek -dialek ini dan juga menambahkan dialek lainnya yang saat ini tidak didukung. Harap angkat masalah (atau angkat upvote masalah yang ada) untuk memberi tahu kami tentang permintaan yang hilang.
Permintaan tarik dari orang -orang yang mengetahui sintaksis atau dialek yang hilang sangat disambut dan merupakan cara pertanyaan bagi Anda untuk mendapatkan dukungan yang ditambahkan. Kami senang bekerja dengan kontributor potensial dalam hal ini untuk membantu mereka menambahkan dukungan ini. Harap angkat masalah terlebih dahulu untuk perubahan fitur besar untuk memastikan itu cocok untuk proyek ini sebelum menghabiskan waktu untuk pekerjaan ini.
SQL sendiri tidak cocok untuk modularitas, jadi untuk memperkenalkan beberapa fleksibilitas dan penggunaan kembali yang sering di -templated seperti yang dibahas lebih banyak dalam dokumentasi modularitas kami.
SQLFLUFF mendukung templat berikut:
Sekali lagi, angkat masalah jika Anda ingin mendukung lebih banyak bahasa/sintaksis templating.
Kami juga memiliki ekstensi kode VS:
Untuk memulai, instal paket dan jalankan sqlfluff lint atau sqlfluff fix .
$ pip install sqlfluff
$ echo " SELECT a + b FROM tbl; " > test.sql
$ sqlfluff lint test.sql --dialect ansi
== [test.sql] FAIL
L: 1 | P: 1 | LT01 | Expected only single space before ' SELECT ' keyword.
| Found ' ' . [layout.spacing]
L: 1 | P: 1 | LT02 | First line should not be indented.
| [layout.indent]
L: 1 | P: 1 | LT13 | Files must not begin with newlines or whitespace.
| [layout.start_of_file]
L: 1 | P: 11 | LT01 | Expected only single space before binary operator ' + ' .
| Found ' ' . [layout.spacing]
L: 1 | P: 14 | LT01 | Expected only single space before naked identifier.
| Found ' ' . [layout.spacing]
L: 1 | P: 27 | LT01 | Unnecessary trailing whitespace at end of file.
| [layout.spacing]
L: 1 | P: 27 | LT12 | Files must end with a single trailing newline.
| [layout.end_of_file]
All Finished ? !Atau, Anda dapat menggunakan gambar SQLFLUFF Docker resmi atau bermain menggunakan SQLFLUFF Online .
Untuk referensi penggunaan dan aturan CLI penuh, lihat dokumen SQLFLUFF.
Untuk dokumentasi lengkap, kunjungi docs.sqlfliff.com. Dokumentasi ini dihasilkan dari repositori ini, jadi silakan ajukan masalah atau tarik permintaan untuk penambahan, koreksi, atau klarifikasi apa pun.
SQLFLUFF menganut versi semantik, jadi perubahan perubahan harus dibatasi untuk rilis versi utama. Beberapa elemen (seperti API Python) berada dalam keadaan yang kurang stabil dan mungkin lebih sering melihat perubahan yang lebih signifikan. Untuk detail tentang perubahan perubahan dan cara bermigrasi antar versi, lihat catatan rilis kami. Lihat Changelog untuk lebih jelasnya. Jika Anda ingin bergabung, harap pertimbangkan berkontribusi.
Rilis baru dibuat setiap bulan. Untuk informasi lebih lanjut, kunjungi rilis.
Kami memiliki komunitas yang tumbuh cepat di Slack, Come dan bergabunglah dengan kami!
Ikuti kami di Twitter @sqlfluff untuk pengumuman dan posting terkait lainnya.
Kami berterima kasih kepada semua kontributor kami. Ada banyak yang harus dilakukan dalam proyek ini, dan kami baru saja memulai.
Jika Anda ingin memahami lebih banyak tentang arsitektur SQLFLUFF , Anda dapat menemukan lebih banyak di sini.
Jika Anda ingin berkontribusi, lihat masalah terbuka di GitHub. Anda juga dapat melihat panduan untuk berkontribusi.

Stack Turnkey Analytics, cari tahu lebih lanjut di DataCoves.com.