从Rails 2.3.8升级到4.0

我在Rails 2.3.8上运行一个应用程序。 我打算将它升级到Rails 4.0(在RC中)。 对我来说最简单的方法是什么? 我是否需要先升级到Rails 3.x?

注意:在我目前的实施中,我使用的是椋鸟和雪貂; 作为升级的一部分,我也在考虑转向sidekiq和太阳黑子

这是一个多步骤的过程,根据您的应用程序的大小,它可能需要很长时间。 在每一步,你都要测试你的应用程序是否存在错误和问题以及破碎的gem(因为它们肯定会突然出现)。 我已经包含了最复杂步骤的链接。 这是痛苦最少的道路:

更新到Rails 2.3.18。

更新到Ruby 1.9.3。

更新到Rails 3.0。

  • 第1部分
  • 第2部分
  • 第3部分

更新到Rails 3.1。

更新到Rails 3.2.latest。

更新到Ruby 2.0.latest。

更新到Rails 4.0 。

从Rails 4.0更新到Rails 4.1 。

从Rails 4.1更新到Rails 4.2 。

从Rails 4.2更新到Rails 5.0 。

从Rails 5.0更新到Rails 5.1 。

额外奖励:如果你的申请量很大,这需要很长时间。 如果你有一个庞大的团队,长期运行的分支机构会因为反复出现的合并冲突而变得非常头疼。 减轻这种情况的一个策略是使用两个版本的Rails双重启动应用程序,以便您可以在主分支上运行新版本,而不是在自己的长期运行分支上运行。

Aaron Gray的回答非常有用,但有时升级后很难找到代码中rails版本之间的差异。 我的意思是,升级后的很多次都不起作用。 也许可能是文件中的某些更改,或者某些文件可能会在较新版本中添加或删除。 有一个很好的工具,你如何找出版本之间的所有差异并比较它们。 这是关于Rails的差异 ,可能非常有助于发现一些潜在的错误和错误。