タグ

トランザクションに関するmasaki0303のブックマーク (2)

  • トランザクションのテスト - LukeSilvia’s diary

    RailsでActiveRecord(DB)のトランザクション処理をテストする際のメモ。 トランザクション処理 簡単な例として以下のコードを考える。 class User def destroy_with_transaction User.transaction do destroy raise end end end テストコードを書く User#destroy_with_transactionは必ず例外が起こるので、トランザクションの働きで、レコードは削除されないことになる。よって、テストコードは以下のようになる。なお、フィクスチャとしてusers.ymlがあるとする。 class UserTest < Test::Unit::TestCase self.use_transactional_fixtures = false fixtures :users def setup @bob

    トランザクションのテスト - LukeSilvia’s diary
  • MySQL トランザクション - とみぞーノート

    トランザクションを使うと複数のクエリをまとめて1つの処理として扱うことができる。処理の途中でエラーになって処理を取り消したいような場合はROLLBACKをすることで変更内容を元に戻すことができる。 トランザクションはデフォルトのMyISAM形式のテーブルでは使用できない。トランザクションが使用できるテーブルにはInnoDB,BDBなどがある。以下ではInnoDBを使って説明する。 1.InnoDBテーブルの作成 新規に作るテーブルをInnoDBにするには、以下のようにする。 mysql> CREATE TABLE friends (id SERIAL, name VARCHAR(30) NOT NULL, address VARCHAR(100), birthday DATETIME) TYPE=InnoDB; 既存のテーブルをInnoDBに変更する場合は以下のとおり。 mysql> AL

    masaki0303
    masaki0303 2011/02/13
    mysqlのトランザクション処理が図で分かりやすくまとまっていて、理解しやすい。
  • 1