支持对象迁移的时代 已经成为过去 。你是说对象的迁移吗?是的,这个技术不但可以卷回数据库之前的状态,也可以卷回对象的状态。
Account.transaction(from, to) do from.withdraw(100) to.deposit(100) end
一旦以上的代码在编译中出现错误,不仅数据库将会卷回先前的状态,存在于每一个对象内部的argument状态也会被卷回先前状态。
这项功能曾经被官方删减,所以如果您还在使用它,事情就不妙了。但是这个功能并没有完全消失匿迹 – 您需要通过使用 bitsweat的对象迁移插件 来实现这套功能。
感谢 Yudi 提供本系列文档
原文作者是 Ryan Daigle, 请访问他的博客