Я пытаюсь обеспечить уникальность значений в одном из полей таблицы. Изменение таблицы не является вариантом. Мне нужно использовать ActiveRecord, чтобы условно вставить строку в таблицу, но меня беспокоит синхронизация.
Предоставляет ли first_or_create
в Rails ActiveRecord предотвращение условий гонки?
Это исходный код для first_or_create
из GitHub:
def first_or_create(attributes = nil, options = {}, &block)
first || create(attributes, options, &block)
end
Возможно ли, что дублирующаяся запись приведет к базе данных из-за проблем синхронизации с несколькими процессами?