と: トランザクションで、一組を守る。
この言葉の意味
関連する複数のデータ更新では、途中だけ成功すると整合性が崩れる場合があります。データベースのトランザクションは、対象の処理を一組として完了させる仕組みです。ただし、外部へのメール送信などが同じ仕組みで元に戻るとは限らず、境界を見極める必要があります。
たとえば、こんな場面で
理解を助けるための仮の場面です。
よくある場面
振替で引き落としだけ成功し入金が失敗する状態を想定せず、二つの更新を別々に確定してしまうと、データのつじつまが合わなくなります。
こう変えてみる
データベースの仕様を確かめ、一組として成立させる更新をトランザクションにまとめます。途中で失敗させるテストで、一方だけが残らないかを確認します。
自分に問いかける
途中で止まったとき、利用者にはどんな状態が見えるでしょうか。
今日の実践ヒント
複数の更新を行う処理を一つ見つけ、途中で失敗したときの状態を考えましょう。