0
這些是模型:續集模型事務塊不rollbacked raise_on_save_failure =假
class User < Sequel::Model
self.raise_on_save_failure = false
end
class Addresses < Sequel::Model
many_to_one: user
self.raise_on_save_failure = false
end
address = Addresses.find(id: 1)
user = address.user
DB.transaction do
address.delete
user.save
end
在上面的代碼,如果user.save返回nil一些驗證失敗交易不是回滾 ,該地址仍然被刪除。
是否有可能,如果user.save失敗,address.delete是rollbacked raise_on_save_failure = false。
如果raise_on_save_failure = true,但事務不會回滾,但不想將其設置爲true。