一個有意思的rake脚本

近来由于新项目的需要,把系统的rails版本升级到了2.0.2,可是这个rails版本并不与旧版本兼容,导致使用老版本开发的项目出现诸多问题。

如何解决多项目对应多rails版本的问题呢?

今天发现一个很管用的rake脚本,命令如下(项目目录下执行

 
rake rails:freeze:gems

 这个命令是根据你的RAILS_ROOT/config/environment.rb中的RAILE_GEM_VERSION常量设置的值把项目与具体的rails版本绑定,输出如下:

Freezing to the gems for Rails 1.2.2
rm -rf vendor/rails
mkdir -p vendor/rails
cd vendor/rails
Unpacked gem: 'activesupport-1.4.1'
mv activesupport-1.4.1 activesupport
Unpacked gem: 'activerecord-1.15.2'
mv activerecord-1.15.2 activerecord
Unpacked gem: 'actionpack-1.13.2'
mv actionpack-1.13.2 actionpack
Unpacked gem: 'actionmailer-1.3.2'
mv actionmailer-1.3.2 actionmailer
Unpacked gem: 'actionwebservice-1.2.2'
mv actionwebservice-1.2.2 actionwebservice
Unpacked gem: 'rails-1.2.2'
cd -

 其实就是把指定版本的rails以及依赖的组件放到项目的vendor目录下,这样项目就不再依赖系统的rails版本,而是每次启动的时候都在verndor目录下去记载rails框架,移植起来也比较方便

输入:

rake --tasks

 可查看更多的脚本

 

你可能感兴趣的:(框架,脚本,Rails,ActiveRecord)