ruby on rails - una - Guía completa de bloqueos/transacciones/niveles de aislamiento en rieles
read uncommitted example sql server (2)
¿Existe un buen tutorial / guía / blog / capítulo de libro / screencast / etc que intente abarcar todo lo que tenga que ver con bloqueos, transacciones y niveles de aislamiento en ActiveRecord? (preferiblemente relevante para Rails 4.0)
Hay una breve sección en las guías y, por supuesto, algunos documentos API, pero es un dominio muy importante y (para mí) difícil de entender, y es la primera vez que trato de tomar en serio la integridad de los datos en mi aplicación Rails. Me gustaría obtener una buena comprensión para poder hacerlo correctamente.
Lista de recursos conocidos
- http://guides.rubyonrails.org/active_record_querying.html#locking-records-for-update
- http://api.rubyonrails.org/classes/ActiveRecord/Locking/Optimistic.html
- http://api.rubyonrails.org/classes/ActiveRecord/Locking/Pessimistic.html
- http://api.rubyonrails.org/classes/ActiveRecord/Transactions.html
- https://github.com/rails/rails/commit/392eeecc11a291e406db927a18b75f41b2658253 ("Compatibilidad para especificar el nivel de aislamiento de transacción" commit -> Rails 4.0)
- http://railscasts.com/episodes/59-optimistic-locking-revised
Revisaría el Capítulo 5 de The Rails 3 Way por ahora, particularmente la Sección 5.5 sobre Bloqueo de bases de datos. También vería ActiveRecord :: Locking source , ActiveRecord :: Transactions source , y transaction_isolation test case ya que el código es muy legible y si va a necesitar un poco de respuestas en las malezas, ¡está en el código!
Las diferencias entre transacciones y el bloqueo en Makandropedia me parecieron un punto de partida bastante útil para conocer la diferencia entre transacciones y bloqueos.