2

我有 3.0.5 rails 应用程序,而且它们越来越老了。我正在计划升级到 Rails 3.2

指南建议先从 3.0 到 3.1,然后再到 3.2,这就是我要尝试的。

但是,当我进行升级时,我希望保持项目完全正常工作,甚至可能使用当前的 3.0.5 应用程序对生产进行一些推动。

所以基本上我想在不干扰真实应用程序的情况下并行进行升级。

我将使用运行 Snow Leopard 的同一台机器。

我使用 RVM 进行 Ruby 管理。

任何建议如何设置此并行升级?git 分支实际上是一种选择吗,这么多潜在的变化是否适合 Git 分支的概念?

谢谢

4

1 回答 1

5

你应该明确地使用 git 分支。一个可能好的 git 工作流程是这样的:

  • 假设您的Master分支当前在 Rails 3.0.x 上,并且正在生产中。
  • 从此主分支创建 2 个分支:rails_30、rails_31。
  • 您开始在rails_31分支中进行升级到 Rails 3.1.x 所需的所有必要更改(此来自 Ryan Bates 的截屏视频将对您有很大帮助:http ://railscasts.com/episodes/282-upgrading-to-rails- 3-1 )
  • 当你完成向 Rails 3.1.x 的迁移(提示:你所有的测试都通过了)你可以从这个分支创建一个新的rails_32分支。然后您可以继续升级到 Rails 3.2.x(查看其他 railscast:http: //railscasts.com/episodes/318-upgrading-to-rails-3-2 )
  • 当您需要对当前的 Rails 3.0.x 代码库进行更改时,您将使用rails_30分支。如果更改很好并经过测试,您可以将其推送给 master。推送后,您可以尝试将此分支合并或挑选代码到您的rails_31rails_32分支(无论您此时正在使用哪个)

请记住,升级 Rails 应用程序并不总是一件小事,所以请花点时间并相应地计划。如果你被卡住了;不支持 gem,你的逻辑在新版本的 Rails 中失败(相信它很可能会发生)只要记住 Ruby on Rails 社区是巨大的,许多开发人员以前都经历过这个,并在 stackoverflow 和其他方面分享了他们的知识网站/博客。继续推动比赛。

祝你好运。

于 2013-04-04T19:27:46.543 回答