2010-01-13 33 views
5

它值得吗?从Rails 1.2.3升级到2.3.5有多难?

我正在为客户端评估遗留代码库 - 源代码自2007年以来基本未改动,并且使用Rails 1.2.3构建。

我的Rails体验从版本2.1开始 - 代码相当缺乏足够的库存/脚手架,并且缺乏有意义的测试 - 我很想知道是否可以在本地运行它 - 但是,我甚至没有确定从哪里开始。它甚至不知道'rake db:create'的含义。哈!

即使在2.3.5下运行它会是一个主要的痛苦吗?我应该打扰吗?

很想听听你的想法。

感谢

+0

全部,谢谢您的评论。非常感谢。这绝对是一个判断呼吁,我会权衡它与客户想要与应用程序一起去的地方。他们暗示将退出大部分网站,从cms驱动的网站转移到更受社交驱动的网络应用程序。我已经发现了许多大型项目,这些项目现在相对容易(或更容易)实施(认证/授权,发送电子邮件,上传文件,搜索,分页),这些项目让我认为是时候了“研究”那里有什么,并使用之前的版本作为参考。 – rsturim

回答

4

如果你要积极开发网站,那么是的,这是值得下沉的时间到项目,以使其保持最新。自Rails 1.2以来,发生了很多事情,这将使开发成为一个更愉快的体验。没有命名范围或RESTful资源的生活确实很困难。如果你只是在各处修补奇怪的东西,可能还是值得让它保持原样,只是处理偏心。

由于1.2.3版本刚刚发布到2.0版本,其中引入了大量警告和弃用通知,因此您可能会有相当的苦差事。

有些事情要留意了:

  • 迁移现在日期标记,没有编号,但至少向后兼容
  • 许多供应商/插件可能无法正常工作,没有2。 x兼容版本,或需要升级
  • 路由引擎已更改,并且许多路由的名称可能已更改,请参阅rake:路由并准备好进行大量搜索和替换
2

我为一个小型网站的客户做了这件事。首先,版本控制是你的朋友。确保你已经完成了整个代码库。

接下来,基本配方如下

  1. 标签电流源
  2. 更新到轨道的下一个版本(你必须谷歌发布声明)。我的应用程序被冻结,所以我只好冻结到该版本
  3. rake rails:更新以更新配置,脚本和js
  4. 将您的工作副本与您scm中的版本区分开来。对应用程序进行必要的更改
  5. 如有必要,更新任何宝石/插件
  6. 启动应用程序,练习和测试。寻找弃用通知
  7. 当这一切看起来不错,致力于供应链管理和标签
  8. 泡沫,漂洗,重复

为我的客户的应用程序,它比我想象的要容易得多。