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