当我有2个对象保存在一个事务中
a = A.new(...)
b = B.new(...)
在我调用事务方法的哪个模型类上是否重要?
A.transaction do
a.save
b.save
end
要么
B.transaction do
a.save
b.save
end
IMNO都使用相同的数据库事务,因为ActiveRecord只能处理一个连接,因此不要紧.那是对的吗?
谢谢,
亚历克斯.
是的,您是正确的,只要两个类都使用相同的
数据库连接.一个类可以使用建立连接来连接到不同的
数据库,但你会知道你是否这样做.所以,正确的建议使用A.transaction或B.transaction是罚款.
如果他们使用不同的数据库,您可以嵌套事务调用:
A.transaction do
B.transaction do
...
end
end
但在这种情况下不是必需的.