从Rails 1.2.3升级到2.3.5有多难?

时间:2010-01-13 21:42:09

标签: ruby-on-rails

它甚至值得吗?

我正在为客户评估遗留代码库 - 源代码自2007年以来基本上没有受到影响,并且它是使用Rails 1.2.3构建的。

My Rails体验从版本2.1开始 - 代码非常类似于库存/脚手架并且缺乏有意义的测试 - 我很想知道我是否可以让它在本地运行 - 但是,我甚至不确定从哪儿开始。马上就不知道'rake db:create'是什么意思。哈!

让它在2.3.5中运行会是一个很大的痛苦吗?我应该打扰吗?

很想听听你的想法。

由于

2 个答案:

答案 0 :(得分:4)

如果您要积极开发该网站,那么是的,值得投入时间进入该项目以使其更新。自Rails 1.2以来发生了很多事情,这将使开发变得更加愉快。没有命名范围或RESTful资源的生活真的很难。如果你只是在这里和那里修补奇怪的东西,那么可能值得把它留在原来并且只是处理怪癖。

由于1.2.3就在版本2.0之前,其中引入了很多警告和弃用通知,所以你可能会有很多苦差事。

要注意的一些事情:

  • 迁移现在已加上日期标记,未编号,但至少是向后兼容的
  • 许多供应商/插件可能无法使用,没有2.x兼容版本或需要升级
  • 路由引擎已更改,许多路由的名称可能已更改,因此请查看rake:routes表示并为大量搜索和替换做好准备

答案 1 :(得分:2)

我是为一个网站很小的客户做的。首先,版本控制是你的朋友。确保您已提交整个代码库。

接下来,基本配方如下

  1. 标记当前来源
  2. 更新到下一个版本的rails(您必须谷歌发布版本)。我的应用程序被冻结了,所以我不得不冻结到那个版本
  3. rake rails:更新以更新配置,脚本和js
  4. 将您的工作副本与您的scm中的版本区分开来。对应用程序进行必要的更改
  5. 如有必要,请更新所有宝石/插件
  6. 启动应用,锻炼和测试。寻找弃用通知
  7. 当一切看​​起来不错时,请提交scm并标记
  8. 泡沫,冲洗,重复
  9. 对于我客户的应用程序,它比我想象的容易得多。