SQL в командах часто выглядит как зоопарк. Один пишет select, другой SELECT, третий вообще не ставит пробелы вокруг операторов. На код-ревью половина комментариев о стиле, а не о логике. SQLFluff решает именно эту проблему.
SQLFluff — открытый линтер и форматтер для SQL. Он находит проблемы в коде и сообщает о них автоматически, чтобы код-ревью касалось функциональности, а не оформления. Умеет не только находить ошибки, но и исправлять большинство из них сам.
Инструмент создавался с прицелом на ELT-задачи, поддерживает Jinja-шаблоны и dbt. Работает без подключения к базе данных — парсит SQL и ловит синтаксические проблемы ещё до того, как код дойдёт до БД.
Установка через pip:
pip install sqlfluff
Чтобы исправить файл автоматически:
sqlfluff fix test.sql --dialect ansi
Все правила гибко настраиваются через файл
.sqlfluff в корне проекта. Можно отключить конкретные правила, задать свой стиль отступов, указать диалект по умолчанию. Файл .sqlfluffignore работает как .gitignore.SQLFluff хорошо вписывается в CI/CD — на GitHub есть готовые шаблоны Actions для типовых сценариев.
➡️ Сайт проекта
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
