2011-01-28 23 views
7

Czy można zablokować tabelę bazy danych. MySQL Przykład:Szyny 3 blokada stołu

LOCK użytkownicy Zapisz tabele

..using kilka rodzimych metod ActiveRecord?

Odpowiedz

9

To nie jest obsługiwana przez ActiveRecord, trzeba będzie uruchomić go ręcznie:

ActiveRecord::Base.connection.execute("LOCK TABLES users WRITE") 

Możesz sprawdzić ten discussion at ruby-forum.com jakiegoś więcej informacji.

0
Pass :lock => true to ActiveRecord::Base.find to obtain an exclusive lock on the selected rows 

Pass :lock => 'some locking clause' to give a database-specific locking clause of your own such as ‘LOCK IN SHARE MODE’ or ‘FOR UPDATE NOWAIT 

Patrz: http://api.rubyonrails.org/classes/ActiveRecord/Locking/Pessimistic.html szczegółowe informacje

+1

semantyka blokowania w tym linkiem są o poziom wiersz blokowania zamiast całych tabel. – Jason