我应该从rails 2.3升级到3+还是等到rails 4被释放然后升级?

时间:2013-01-30 20:45:44

标签: ruby-on-rails ruby-on-rails-3 upgrade rails-3-upgrade ruby-on-rails-4

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

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

我们希望尽可能多的当前代码库在最新版本的rails下运行。我们将重写任何没有的部分。

2 个答案:

答案 0 :(得分:18)

我会考虑以下两种选择:

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这实际上是一个非常大的升级,因为它引入了asset pipeline。您需要阅读并遵循建议。不要将其用于生产,否则不要“退出”。基本上它做了两件事:缩小js代码并将所有js和css代码编译成1个文件(每个)。这有助于加速网页并减少对所有单个资产的服务器请求。

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

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


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

  • 开发人员带宽
  • 开发者体验
  • 预算
  • 时间轴
  • 代码质量
  • 代码库的大小
  • 应用程序的用户数量(从而影响任何问题)。
  • 有关问题的现场调用的客户支持的可用性。

有用的资源:

答案 1 :(得分:4)

我认为你需要先更新到3.x,过了一段时间(当4.1或类似的东西发布时),你会将你的应用更新到最新的Rails版本。

我强烈建议为当前代码库进行测试(如果还没有完成)。当您更新到Rails 3时,您将获得在生产之前需要修复的错误基础。

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

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