sqlfluff

sqlfluffの使い方

タグ sqlfluff


概要

  • sqlのlinter
  • プロジェクト単位で.sqlfluffを定義してチームで統一的なルールを適応することができる
  • dialectsという考え方があって、大まかな方言でlintすることもできる
    • e.g.
      • ansi, athena, bigquery
    • dialectsを指定しない場合は.sqlfluffを参照する

インストール

$ 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

参考