我应该从 rails 2.3 升级到 3+ 还是等到 rails 4 发布后再升级



我即将开始将公司的旧rails ap从2.3/1.87移植到最新版本的rails。我应该等待 rails 4,还是应该只等待 3.2?

我们将借此机会确保有完整的测试覆盖率,并且可能还会涉及一些重写。第一个目标是确保所有当前功能都正常运行。

我们希望尽可能多的当前代码库在最新版本的rails下工作。我们将重写任何不这样做的部分。

我会考虑以下两个选择:

A) 重写应用程序。在这种情况下,我会在 rails 3.2.10 中执行此操作,不要等到 4,因为它必须被释放、摇晃、发现错误等。 对于rails,等待几乎从来都不是一件好事,因为它有一个如此快速的发布周期和重大变化。 在过去的几年里,我学到了一些艰难的东西。

B) 逐步升级。我也不会等到 4 来,现在去 3.2.10。 首先将 2.3 应用程序更新到 rails 3.0 这实际上可能并不难。 有一些格式更改和活动记录更改,但大多数都相当直接,并且其他人记录得很好。 请注意弃用警告,因为这些警告通常在 rails 版本 x.0 中引入,然后在 x.1 中实际删除(因此在这种情况下,这意味着 3.0 和 3.1)

一旦完成此操作,您已经踢了轮胎并确保一切正常,然后继续升级到 rails 3.1 这实际上是一个相当大的升级,因为它引入了资产管道。 您需要阅读并遵循建议。 不要通过不将其用于生产来"应付"。 基本上它做了两件关键的事情:缩小js代码并将所有js和css代码编译成1个文件(每个)。 这有助于加快网页速度并减少服务器对所有单个资产的请求。

下次将 ruby 从 1.8.7 升级到 1.9.3 这应该相对轻松,但与所有步骤一样,请仔细检查应用程序,显然,如果您有自动回归测试,则应运行它们(此处概述的每个步骤相同)。

最后将 rails 从 3.1 升级到 3.2.11,其中包括一个安全修复。

<小时 />

您做出的选择将取决于许多其他因素,包括技术和非技术因素,包括:

  • 开发人员带宽
  • 开发人员体验
  • 预算
  • 时间轴
  • 代码质量
  • 代码库的大小
  • 应用程序的用户数量(因此会影响任何 isssues 将具有)。
  • 客户支持
  • 的可用性,以现场呼叫有关问题。

有用的资源:

  • https://github.com/rails/rails_upgrade (2.3 -> 3.0)

  • http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1

  • http://davidjrice.co.uk/2011/05/25/how-to-upgrade-a-rails-application-to-version-3-1-0.html

  • http://railscasts.com/episodes/282-upgrading-to-rails-3-1

  • http://omgbloglol.com/post/364624593/rails-upgrade-is-now-an-official-plugin

  • http://guides.rubyonrails.org/3_2_release_notes.html

我认为您需要首先更新到 3.x,一段时间后(当 4.1 或类似版本发布时),您将将您的应用程序更新到最新的 Rails 版本。

我强烈建议创建一个庞大的工作来为当前代码库进行测试(如果还没有完成)。当你更新到Rails 3时,你会得到一个很好的错误基础,你需要在生产之前修复这些错误。

还有很多关于如何将2.x更新到3.x Rails应用程序的教程(视频和文本)。

我的建议:将您当前的应用程序更新到 3.2,等到 4.x 分支稳定下来,您可以在生产模式下使用它(从 4.0 发布开始大约需要 4-8 个月)

相关内容

  • 没有找到相关文章

最新更新