我在Rails 2.3.8上运行一个应用程序。我打算将它升级到Rails 4.0(在RC中)。对我来说最简单的方法是什么?我是否需要先升级到Rails 3.x?
答案 0 :(得分:50)
这是一个多步骤的过程,根据应用程序的大小,可能需要很长时间。在每一步,您都需要测试您的应用程序是否存在错误和问题以及破碎的宝石(因为它们肯定会突然出现)。我已经包含了最复杂步骤的链接。这是痛苦最少的道路:
更新到Rails 2.3.18。
更新到Ruby 2.0.latest。
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,可能对发现一些潜在的错误和错误非常有帮助。