basyura's blog

あしたになったらほんきだす。

あたりまえだけどトランザクション

class Users < Sequel::Model ; end
DB.transaction do
  # テーブルのレコード全削除
  Users.delete
  # レコード insert
  Users.create(
    :screen_name => "bbbb",
    :description => "いいいい"
  )
  # エラーが発生してロールバックするので
  # テーブルの削除も insert も無かった事になる
  raise "コミットさせないよエラー"
end