多個資料庫連線

事務處理單個資料庫連線。如果你有多個特定於類的資料庫,則事務不會保護它們之間的互動。一種解決方法是在你更改其模型的每個類上開始一個事務:

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

這是一個糟糕的解決方案,但完全分散式事務超出了 ActiveRecord 的範圍。