てぃーだブログ › Ruby 勉強会 › 楽観的ロック lock_versionを使って

楽観的ロック lock_versionを使って

2014年06月24日

lock_version:integer(default:0)をモデルに用意しておくと、トランザクション処理で楽観的ロックをかけてくれる。


rails g scaffold member name email lock_version:integer
vim db\migrate\xxx_create_member.rb # default: 0
rake db:migrate
rails c
Memver.transaction do
m = Member.new
m.name = "hoge"
m.save!
m.email = "hoge@fuga.com"
m.save!
m.name = "hogehoge"
m.save!
end
Member.all # lock_version => 2

「save!」を実行するたびに、lock_version->0,1,2と自動的に増えて、
トランザクションが完了すると、lock_bersion=2になっています。



Posted by kanedayo at 23:51│Comments(0)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。