gpt4 book ai didi

mysql - ROR 中的数据库安全并发

转载 作者:可可西里 更新时间:2023-11-01 07:04:43 33 4
gpt4 key购买 nike

试图弄清楚 Ruby On Rails 中如何处理并发。

如何获取一段代码来锁定数据库中的行并在需要时强制回滚?

更具体地说,有没有办法强制某一段代码完全完成,如果不回滚?我想在我的项目中为交易添加历史记录,但我不想在没有保存历史记录的情况下提交事务,因此如果服务器介于两个操作(保存事务和保存历史记录)之间,数据库可能会进入非法状态。

最佳答案

你想看ActiveRecord TransactionsPessimistic Locking .

Account.transaction do
account = Account.find(account_id)
account.lock!

if account.balance >= 100
account.balance -= 100
account.save
end
end

关于mysql - ROR 中的数据库安全并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7881286/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com