pre-commit
Про эту штуку мне рассказал наш девопс. Короче, можно настроить у себя на ноуте, чтобы перед каждый коммитом прогонялись линтеры, форматтеры, другие легковесные чекеры
Шаг 1. В корне репки создаем файлик .pre-commit-config.yaml и добавляем нужные модули:
repos:
- repo: https://github.com/sqlfluff/sqlfluff rev: 4.0.4 hooks:
- id: sqlfluff-fix args: [ --config, tables/.sqlfluff ]
Шаг 2. Устанавливаем pre-commit
brew install pre-commit pre-commit install
Все хуки лежат в папке .git/hooks/
Шаг 3. Создаем свой файлик и коммитим
При первой попытке запустятся форматтеры и исправят все ошибки:
git commit
sqlfluff-fix...............Failed
- hook id: sqlfluff-fix
- files were modified by this hook
== finding fixable violations == == [tables/test_table.sql] FAIL L: 1 | P: 1 | CP01 | Keywords must be upper case. [capitalisation.keywords] ... == [tables/test_table.sql] FIXED
На второй попытке файлик будет закомичен:
git commit 1 file changed, 1 insertion(+), 1 deletion(-) create mode 100644 tables/test_table.sql
@data_engineerette