【问题标题】:Should I upgrade from rails 2.3 to 3+ or wait until rails 4 is released and upgrade then? [closed]我应该从 rails 2.3 升级到 3+ 还是等到 rails 4 发布后再升级? [关闭]
【发布时间】:2013-01-14 19:47:50
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    我强烈建议为当前代码库(如果尚未完成)进行大量测试。当您更新到 Rails 3 后,您将获得一个很好的错误基础,您需要在生产前修复这些错误。

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

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

    【讨论】:

      【解决方案2】:

      我会考虑以下两种选择:

      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,其中包含一个安全修复。


      您做出何种选择取决于大量其他因素,包括技术和非技术因素,包括:

      • 开发者带宽
      • 开发者经验
      • 预算
      • 时间线
      • 代码质量
      • 代码库大小
      • 应用的用户数量(因此会影响任何问题)。
      • 客户支持可用于现场电话解决问题。

      有用的资源:

      【讨论】:

      • 我最近将一个 3.0/1.8.7/heroku-bamboo 应用升级到 3.2/1.9.2/heroku-cedar。它不漂亮。我首先做了推荐的迁移到 3.1。花了5天时间。对于这个非常古老的应用程序,我将从一个新应用程序重新开始,并逐个移植所有控制器。这是一个遍历整个应用程序并确保测试覆盖率等的好机会。我没有编写原始应用程序。由于各种原因,这对我们来说是最有意义的。所以,这并不会真正改变。问题是我应该在 3.2 还是等到 4。
      • 啊,是的,鉴于我强烈支持重写的信息。伟大的决定。鉴于 那个,我可能会直接升级到 3.2.10,但我仍然不会等到 4
      猜你喜欢
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多