我正在使用Rails 1.2.3版本。现在我想升级Rails版本以及从1.8.6到1.9.7的ruy版本。将Rails App从1.2.3升级到3.1.0?
与这种较旧的版本一起工作,但它处于运行状态是一个主要的痛苦。现在我想要Rails的高级功能,但不支持这个旧版本。
请建议我升级版本和ruby版本的方式。
谢谢....
我正在使用Rails 1.2.3版本。现在我想升级Rails版本以及从1.8.6到1.9.7的ruy版本。将Rails App从1.2.3升级到3.1.0?
与这种较旧的版本一起工作,但它处于运行状态是一个主要的痛苦。现在我想要Rails的高级功能,但不支持这个旧版本。
请建议我升级版本和ruby版本的方式。
谢谢....
这是一个很大的飞跃。您最好的选择是创建一个新的rails 3.1应用程序,然后手动迁移您的代码。
gem install rails #=> will install the latest stable release from rubygems
gem install bundler
rails new myapp
你需要做的第一件事就是打开Gemfile
,并添加您使用的是当前应用程序的任何宝石,它也将是找到任何插件的宝石版本是个好主意你正在使用(在vendor/plugins
)。另外,请确保您为所使用的数据库类型安装了适当的Gem(mysql2
,sqlite3
或pg
)。
添加完所有需要的宝石后,运行bundle install
将所有宝石与应用程序捆绑在一起。
至于视图,模型和控制器,这些东西应该都可以复制到新应用程序中。你可能需要调整一些东西,但大部分这些东西都应该工作。
您还需要打开config/application.rb
并配置您的应用程序。您可以使用旧的environment.rb
文件作为参考。
在您启动应用程序之前的最后一步是将您的routes.rb
文件更改为新的Rails 3格式。这可能是迁移中最糟糕的部分,因为您首先需要学习如何编写Rails 3路由文件,然后手动写入路由。更多信息可以在here找到。
我从来没有使用Rails 1,所以有可能你可能需要改变一些其他的东西。 These three Railscasts一定会成为您的有用资源。
谢谢老板。你给出的步骤真的很好,或者我。你说的很好,路由会杀了我。 – Rubyist
我已经将主要应用程序从2.3.10迁移到3.0.9 这是一个非常痛苦的过程,如果我想要迁移到3.1,情况会更糟。
根据你的应用程序的大小,我肯定会推荐创建一个新的应用程序并复制这些东西。
从这个老版本的导轨迁移到最新版本绝对不是一次飞跃,有很多不同的事情需要考虑。
但是,关于我的回答是最好的事情是,我建议你这样做,测试的过程中,找到兼容的宝石等等......如此在轨道3和Ruby 1.9.2
是的男人,你是对的。将新的应用程序作为现有项目的克隆比较好。我们可以使用逻辑以及少数代码可以重复使用。否则,整个垃圾代码会在执行时造成麻烦。 – Rubyist
好得多哇,正如砖匠所说,这是一个飞跃!我在几年前使用Rails 1 ..我没有升级到Rails 2,我重新编写了。
Rails 1.2.3应用程序有多大?
许多事情发生了变化,Rails中的功能,很多Gems,路由,资产管道,命名范围,ActiveRecord查询API ......甚至Ruby也发生了变化 - 只是升级是个坏主意。有许多新的概念和特征,您不得不考虑,并且从干净的石板开始会更好。
这可能是一个变相的祝福。我认为这是一个很好的机会,可以通过在Rails 3.1中重写和重新设计来改进代码库:-)
我建议从头开始在Rails 3.1应用程序中使用最重要的功能,同时保持1.2.3应用程序处于维护模式。
它可能也是一个很好的机会,以摆脱其很少使用的应用的一些“特色”,...
我不认为有一个合理的一步法这一点。我建议使用指南升级到Rails 2,确保所有的测试都通过了(为了以防万一......也许在生产中给它几天/周),然后按照从Rails 2到Rails 3的升级指南。 –
@约旦:谢天谢地。但我没有足够的时间来跟踪这一步。如果你有任何想法升级,请让我知道。我会尝试这种方法。 – Rubyist
@Jordan:您是否有任何参考文档可以将Rails 1升级到Rails 2版本。 ?如果你有,那么请分享...谢谢 – Rubyist