SQLFluff وفحص الأسلوب
افحص SQL باستخدام SQLFluff، وفرض أسلوب موحّد، وأصلح مشكلات التنسيق الشائعة تلقائيًا
SQLFluff وفحص الأسلوب درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.
لماذا ندقق SQL؟
تُكتب SQL يدويًا، ومن السهل تنسيقها بطريقة غير متسقة. ويفرض التدقيق أسلوبًا موحدًا تلقائيًا:
- الكلمات المفتاحية بأحرف صغيرة أو كبيرة
- الفاصلة في نهاية السطر أو بدايته
- اصطلاحات تسمية الجداول والأعمدة
- المسافات البادئة
- الأنماط المضادة، مثل SELECT * وعمليات الربط الغامضة وغيرها
SQLFluff: أداة التدقيق الفعلية المعتمدة
أداة مفتوحة المصدر ومدركة للهجات SQL، وتدعم العديد من صيغ SQL وتعمل بشكل ممتاز مع dbt:
pip install sqlfluff
sqlfluff lint models/
sqlfluff fix models/ # auto-fix where safeتهيئة SQLFluff
تهيئة .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القواعد القياسية
يحتوي SQLFluff على أكثر من 50 قاعدة للتسمية والتنسيق وتغيير حالة الأحرف والبنية وإزالة الغموض. عطّل القواعد حسب الحاجة:
[sqlfluff]
exclude_rules = AM05, ST05التعطيل داخل السطر
تخطَّ فحصًا لسطر واحد:
SELECT * -- noqa: AM04
FROM users;التكامل مع dbt
يفهم SQLFluff كلاً من Jinja وref():
sqlfluff lint --templater dbt models/خطاف ما قبل commit
شغّل SQLFluff قبل كل commit:
# .pre-commit-config.yaml
repos:
- repo: https://github.com/sqlfluff/sqlfluff
rev: 3.0.0
hooks:
- id: sqlfluff-lint
- id: sqlfluff-fixفي CI
امنع PRs التي تحتوي على أخطاء التدقيق:
# GitHub Actions
- name: SQLFluff
run: |
pip install sqlfluff
sqlfluff lint models/الأنماط المضادة التي يجب تدقيقها
- L044/AM04 — تجنّب SELECT *
- AM05 — تجنّب JOIN الضمني، أي الفاصلة
- ST05 — تجنّب الاستعلامات الفرعية في FROM، واستخدم CTEs
- L010 — عدم اتساق حالة الأحرف
المنسّق مقابل أداة التدقيق
ينفّذ SQLFluff الأمرين — يفحص ويُنسّق تلقائيًا:
sqlfluff format models/ # newer: dedicated format command
sqlfluff fix models/ # alias for format + safe rule fixesأدوات أخرى
- pg_format — ينسّق SQL تنسيقًا مقروءًا (مع التركيز على PostgreSQL)
- SQLFluff هو الأكثر استخدامًا؛ ويتكامل مع dbt
- التنسيق عند الحفظ في المحررات (VS Code وJetBrains)
مراجعة
يقضي التدقيق على النقاشات المتعلقة بالأسلوب، ويكشف الأخطاء الحقيقية.
- SQLFluff للتدقيق والتنسيق
- يُستخدم
.sqlfluffلضبط القواعد - شغّلوه في pre-commit وCI
- ادمجوه مع dbt لإنشاء سير عمل متكامل لـ SQL
اختبار سريع
ما الأداة مفتوحة المصدر التي تُعدّ المعيار لتدقيق SQL، وتعمل مع قوالب dbt؟
الأسئلة الشائعة
هل درس «SQLFluff وفحص الأسلوب» مجاني؟
نعم — نص درس «SQLFluff وفحص الأسلوب» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.
ماذا ستتعلم في «SQLFluff وفحص الأسلوب»؟
افحص SQL باستخدام SQLFluff، وفرض أسلوب موحّد، وأصلح مشكلات التنسيق الشائعة تلقائيًا تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟
لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «SQLFluff وفحص الأسلوب»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟
نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات DBT (أداة بناء البيانات)
- SQLFluff وفحص الأسلوب
- اختبار SQL: اختبارات dbt وGreat Expectations
- التكامل المستمر لتغييرات المخطط (GitHub Actions)