多个数据库连接

事务处理单个数据库连接。如果你有多个特定于类的数据库,则事务不会保护它们之间的交互。一种解决方法是在你更改其模型的每个类上开始一个事务:

Student.transaction do
  Course.transaction do
    course.enroll(student)
    student.units += course.units
  end
end

这是一个糟糕的解决方案,但完全分布式事务超出了 ActiveRecord 的范围。