gpt4 book ai didi

ruby-on-rails - 如何继续将 Rails 2 项目升级到 Rails 3+?

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:24 25 4
gpt4 key购买 nike

我从另一个开发人员那里继承了一个旧项目,该项目在 Ruby 1.8 上运行并使用 Rails 2。我是 Ruby 和 Rails 项目的新手,所以我想获得有关升级此类项目的建议。这个项目的一个主要问题是它没有测试覆盖率。根本没有单元测试。以下是一些项目统计信息:

$ cloc .

http://cloc.sourceforge.net v 1.56 T=3.0 s (149.3 files/s, 15714.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Ruby 379 3106 1476 15246
Javascript 18 2981 2369 11008
CSS 16 690 1208 7156
HTML 21 324 69 1039
YAML 13 46 164 236
Bourne Shell 1 2 5 17
-------------------------------------------------------------------------------
SUM: 448 7149 5291 34702
-------------------------------------------------------------------------------

我的计划是开始一个新的 Rails 项目并编写测试,看看主题是否失败,然后一点一点地引入旧代码,更新需要更新的部分,然后继续。

这是否像我听说的那样令人生畏?上述方法现实吗?我应该注意哪些陷阱?

最佳答案

最近我自己做了这个;在 3.2 结束之前,我通过 Rails 3.0 和 3.1 迁移了一个 Rails 2.3 项目。这有点令人生畏,但我的观察:

  1. 我开始尝试创建一个新项目,就像您建议的那样 - 但我很快决定不这样做,并返回到只更新现有项目。
  2. 我发现有关迁移到 Rails 3 的 RailsCasts 非常有用。第一个在这里:http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1
  3. 如果您无论如何都要编写测试(这绝对是正确的做法),我发现在升级到 3.0 之后最容易开始。我记得,在 2.3 和 3.0 之间,围绕测试 gem 的兼容版本存在几个问题。我最喜欢的测试环境涉及 RSpec , Cucumber , 和 Guard .这个 RailsCast 非常适合设置测试:http://railscasts.com/episodes/275-how-i-test
  4. 版本控制是您的 friend 。我为我完成的每个主要版本创建了一个 git 分支。这样,当我遇到问题时,我可以轻松地废弃分支并重试。

总而言之 - 这是可行的,但需要一些时间才能做好。至少在我的情况下,从一个"new"项目开始,结果证明没有必要或没有帮助。

关于ruby-on-rails - 如何继续将 Rails 2 项目升级到 Rails 3+?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14516120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com