从Rails 2.3.8升级到4.0

nit*_*nit 21 ruby-on-rails ruby-on-rails-2 ruby-on-rails-4

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

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

Aar*_*ray 50

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

更新到Rails 2.3.18.

更新到Ruby 1.9.3.

更新到Rails 3.0.

更新到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双启动应用程序,以便您可以在主分支上运行新版本,而不是在自己的长期运行分支上运行.

  • 好点子.在转向Ruby 1.9之前,你绝对可以升级到Rails 3.在我们的例子中,我们有一个大型应用程序,从Ruby 1.8.7迁移到1.9远比从Rails 2.3迁移到3.0要少得多.我们花了几个月的时间才上了1.9,但是一年后才上了3.0.因此,我们首先使用更简单的更新,以便更快地为我们提供Ruby 1.9的性能优势和gem兼容性. (2认同)