Я хотел бы знать, можно ли каким-либо образом вставить Rails через ActiveRecord, не пройдя через точку сохранения. Итак, прямо вставьте (и зафиксируйте).Сохранение Rails без Savepoint (прямое сохранение/создание)
Проблема заключается в том, что если есть исключение, я не хочу, чтобы сохранение/создание в рамках одной транзакции также было откатами. Я пробовал несколько часов искать его, но не знаю, как это сделать.
Моя база данных в разработке - SQLite, я считаю, что в спасении должно быть что-то сверкающее.
EDIT: Код
log = config.model.where(md5: md5).first
if log
puts "I AM HERE 5A"
log.frequency += 1
log.save
else
puts "I AM HERE 5B"
config.model.transaction(requires_new: true) do
config.model.create!({
md5: md5,
level: level,
message: message,
backtrace: backtrace,
class_name: class_name,
method_name: options[:method],
line: options[:line],
file_name: options[:file],
parameters: (options[:parameters].blank? ? "" : options[:parameters].inspect),
description: options[:description]
})
end
end
Можете ли вы показать нам какой-то код в качестве примера того, что вы хотели бы (используйте метод magic_save_without_savepoint для метода, который вы хотели бы создать, если вы должны);) –
ничего не представляете, просто .create. Но иногда исключение вызывается из-за тайм-аута, и я не хочу, чтобы мои данные были откатами. – user3551335
Для нас, чтобы помочь вам ... нам действительно нужно это увидеть. Ваше словесное описание ясно в вашей голове ... но не в нашем;) –