从Rails 2.3.8升级到4.0

时间:2013-06-17 06:13:08

标签: ruby-on-rails ruby-on-rails-2 ruby-on-rails-4

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

注意:在我目前的实施中,我使用的是椋鸟和雪貂;作为升级的一部分,我也在考虑转移到sidekiqsunspot

2 个答案:

答案 0 :(得分:50)

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

更新到Rails 2.3.18。

Update to Ruby 1.9.3.

Update to Rails 3.0.

Update to Rails 3.1.

Update to Rails 3.2.latest.

更新到Ruby 2.0.latest。

Update to Rails 4.0

Update from Rails 4.0 to Rails 4.1

Update from Rails 4.1 to Rails 4.2

Update from Rails 4.2 to Rails 5.0

Update from Rails 5.0 to Rails 5.1

奖励:如果你的申请量很大,这需要很长时间。如果你有一个庞大的团队,长期运行的分支机构会因为反复出现的合并冲突而变得非常头疼。减轻这种情况的一个策略是dual boot your application with both versions of Rails,以便您可以在主分支上运行新版本,而不是在自己的长期运行分支上运行。

答案 1 :(得分:2)

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