decochのブログ

フリーランスのiOSエンジニア decoch のブログです

SchemaPolicyCheckでDB設計ルールを自動チェックしよう

目次

  • SchemaPolicyチェックとは
  • 設定方法

SchemaPolicyチェックとは

プログラミングをする際にはコードのチェックスタイルを使っていると思います。 Ruby では rubocop, JavaならIntelliJEclipseのフォーマッタが一般的ですね。

コードよりも気軽に変更できないDBに関してはこのようなチェックを行っているチームはあまりないと思います。 そこで今回は、SchemaPocilyCheckを使いBooleanなら末尾にFLGをつけると言った細かなルールを自動的にチェックする方法を紹介します。

dbflute.seasar.org

設定方法

DBFlute-introを使ってチェックを行うのでまだ設定をしていない人はこちらから設定を行ってください

decoch.hatenablog.com

まずDBFlute-introのSchemaPolicyCheckのページを開きます。 ここでは、

  • SchemaPolicyCheckの実行
  • DB設計ルールの設定

を行う事ができます。

f:id:decoch:20190831152556p:plain
schema-policy-check

では、実際に設定を変更していきます。

以下ルールの設定をして実行を押下しましたが成功していますね。

  • テーブルのPKの必須化
  • テーブル名を全て小文字

f:id:decoch:20190831152813p:plain
schema-policy-setting-valid

今後は失敗するように以下設定にして実行してみます

  • テーブルのPKの必須化
  • テーブル名を全て大文字

f:id:decoch:20190831153038p:plain
invalid

失敗すると失敗理由をリンクから確認できるようになります。

f:id:decoch:20190831153123p:plain
error messages

この機能を使うことで、単純なルールはDBFluteにまかせてレビュワーはもっと本質的なレビューに集中することができます。

まとめ

  • DB設計のルール確認は人がチェックしているケースが多い
  • DBFluteIntroを使えば、ルール設定を行い自動チェックができる