Tratando de averiguar cómo se maneja la concurrencia en Ruby On Rails.Concurrencia segura de la base de datos en ROR
¿Cómo obtengo un segmento de código para bloquear líneas en la base de datos y forzar retrocesos cuando es necesario?
Más concretamente, ¿Hay alguna forma de forzar un cierto segmento de código para que se complete por completo y, si no retroceder? Estoy buscando agregar el historial a las transacciones en mi proyecto y no quiero que las transacciones se comprometan sin que se guarde el historial, así que si el servidor se encuentra entre las dos acciones (guardando la transacción y guardando el historial) la base de datos puede entrar un estado ilegal.
¿Se pueden hacer declaraciones en la base de datos también dentro de la transacción? – Nayish
Cualquier cosa que desee puede ir dentro del bloque de transacción, entonces sí, si se pueden hacer declaraciones. –
y si al final el if hubiera fallado al cambiar algo de una transacción diferente? – Nayish