月間26,000PV達成! 収益は毎日発生中! ギランバレー症候群に関する情報を集めています

【PostgreSQL】DBのトリガーで例外のテストを行う方法!

【PostgreSQL】DBのトリガーで例外のテストを行う方法!
Advertisement

 

なぜ皆トリガーを使わない?

こんなにも便利なのに。

ってことで今回は、DBのトリガーで例外のテストを行う方法を解説します

※DBはPostgreSQLです。

 

僕のプロフィールはこちら

 

 

例外のテストをするならトリガーっしょ

システム開発をするにあたって例外のテストは当たり前ですがやりますよね

むしろ、エラーが発生した時に想定した挙動を取っているのかって結構重要です。

つまり、例外を発生させて単体テストなどを行う必要があるわけですが、それはどうやってやるべきか?

ソースコードを直接いじってもいいですし、テストデータをいじってもいい。

ただ、DBのトリガーを使えばより簡単に例外のテストを行うことができます

 

 

トリガーで例外テストを行うメリット

一番は、「ソースコードを直接編集しなくてもよい」という点です。

ソースコードを直接いじるのは本来正しくありません。

いじったソースコードをそのまま本番リリースするわけではないからです。

なので、ソースコードをいじらずに例外テストを行えるというだけでも大きなメリットです。

デメリットは特にありませんが、トリガーをテストで使用した場合、外し忘れるとずっと例外出っぱなしになります

ウケル。

 

 

Advertisement

 

トリガーを設定してみる

まずは、トリガーから呼ばれるファンクションを先に設定します。

例外を投げているだけのシンプルなファンクションです。

 

 

トリガー本体です。

ユーザマスタへのインサート直後に例外ファンクションを呼ぶトリガーです。

 

 

上記を設定するだけで、ユーザマスタへのデータ登録直後に例外が発生します。

直後」を「直前」にすることもできますし、「INSERT」を「UPDATE」に変更することもできます。

 

 

まとめ

トリガーって地味なのかは分かりませんが、あまり使われないんですよね。

というより、例外を発生させるために使わないんでしょうね

よくあるのは、Aテーブルにデータが登録されたらBテーブルにもデータを登録させるトリガーなんかですね。

他にも色々ありそうなので、また何かあれば記事にしたいと思います。

グッバイベイビー。

 

 

おすすめ書籍

PostgreSQLの設計・運用に関する書籍です!

 

 

 

関連記事

以下の記事も合わせて読まれています。

Travelerを知らないの?