sqlfluffの使い方
概要
- sqlのlinter
- プロジェクト単位で
.sqlfluff
を定義してチームで統一的なルールを適応することができる dialects
という考え方があって、大まかな方言でlintすることもできる- e.g.
- ansi, athena, bigquery
- dialectsを指定しない場合は
.sqlfluff
を参照する
- e.g.
インストール
$ pipx install sqlfluff
警告を確認する
$ sqlfluff lint <filename.sql>
自動修正する
$ sqlfluff fix <filename.sql> --dialects bigquery
.sqlfluff
の書き方
- templaterはsqlがテンプレート言語を利用している場合のパーサーの指定であり、使用していなければ実質的に無視される
[sqlfluff]
verbose = 0
nocolor = False
dialect = mysql
templater = jinja
[sqlfluff:rules]
tab_space_size = 4
max_line_length = 80
indent_unit = space
comma_style = trailing