mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
16 lines
384 B
Ruby
16 lines
384 B
Ruby
# frozen_string_literal: true
|
|
|
|
module OpenFoodNetwork::Locking
|
|
# http://rhnh.net/2010/06/30/acts-as-list-will-break-in-production
|
|
def with_isolation_level_serializable
|
|
transaction do
|
|
connection.execute "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE"
|
|
yield
|
|
end
|
|
end
|
|
end
|
|
|
|
class ActiveRecord::Base
|
|
extend OpenFoodNetwork::Locking
|
|
end
|