Closed5

Railsのトランザクションを理解する

potatomanpotatoman

トランザクションを使う目的

データベースの整合性を保つため。
一連の操作を「全て成功するか、全て失敗するか」のどちらかに保証できる。

potatomanpotatoman

2種のロールバック

  1. トランザクション内での例外が発生時にロールバックが発火
  2. raise ActiveRecord::Rollback を記述し、明示的に発生させる
potatomanpotatoman

! が付いているメソッドは失敗したら例外をスローするため、
トランザクションを使う際は、save!destroy!を使用するべき。

potatomanpotatoman

ネステッドトランザクション

ネストしたトランザクションの、内部のロールバックは外部に影響しない。

このスクラップは2ヶ月前にクローズされました