level 1
升级一个现有应用程序
【升级Railsand gem】
首先,你需要升级 Rails and Ruby的gem到你需要的版本,简单的说,运行如下命令:
$ sudo gem install rubygems-update
$ sudo update_rubygems
(上面的sudo表示是用管理员权限,后面的rubygems-update是本来就有的gem,安装一下;第二个命令是运行刚刚安装好的程序,会就自动更新版本了。)
以及以下命令:
$ gem install rails
或者
$gem install rails –version “=2.2.2”
(这两个命令是二选一,第二个命令直接指定了版本号。实际使用的时候需要改成你想要升级的版本编号。)
【准备好你的SCM】
如果你正在使用拥有强大(并简易)版本分支的SCM比如Git,那么现在是时候为你的程序生成一个新的分支以便将你的升级工作和原来工作区分开来。当你升级完成后,再将你的分支合并回去。(这一点涉及到代码版本管理,看不懂的请参考版本管理相关术语)
$git checkout –b rails23upgrade
【更新你程序的版本信息】
将你的environment.rb文件更新至指向你将要更新到的Rail版本。
RAILS_GEM_VERSION = ‘2.3’
然后使用内置的rake来更新你的configs,javascripts和bootstrap。
$ rake rails:update
2010年07月09日 21点07分
2
level 1
【更新插件】
方法很简单:删除你的旧版插件,重新安装一个新的版本在原来的目录。
$ rm vendor/plugins/fancy_plugin
$ ./script/plugin install fancy_plugin
【处理Rails的变动】
这部分请阅读不同版本的Rails发布信息。如果你从一个很老的版本进行升级,那么恐怕这一步工作量恐怕不小。(下面的链接我就不贴了,自己去原帖里找吧。)
§ Rails 2.0 Release Notes
§ Rails 2.1 Release Notes
§ Rails 2.2 Release Notes
§ Rails 2.3 Release Note
【删除已废弃的代码】
代码升级通常会导致有些功能被删除,重命名或者废弃,你可能需要升级你的应用程序来使用新的方法或惯例。比如以下插件就是针对一些已经完全从Rail核心里剔除的特征:
§ classic_pagination
§ country_select
§ irs_process_scripts
§ acts_as_list,acts_as_tree, etc.
§ in_place_editing
§ 以及更多。。。
【充分使用新特征】
很多过去作为插件使用的特征,现在已经被完全写进Rails内核,是时候扔掉那些插件,转而使用Rails内核函数了。这些特征包括:
§ dirtytracking
§ timezonesupport (via TzTime)
§ namedscopes
§ localization
2010年07月09日 21点07分
3
level 1
【运行你的测试集】
现在你可以进行全面测试。都通过了吗?如果是,表扬一下自己:)如果不是,那么开始找bug吧。。。:(
2010年07月09日 21点07分
4