RoR版本升級問題


#1

未來將遇到RoR(Ruby 1.8.7 , Rails 3.3.0)版本的升級問題,但目前卻沒有頭緒該如何進行,
想請前輩們分享版本升級經驗與建議,謝謝!(目標 Ruby 2.2.2 , Rails 4.2)


#2

我的經驗是先rvm 升級到你的ruby 版本,再來就是rails ,其中rails 最麻煩的就是Gemfile 這部分,先bundle install 他會幫你檢查refrence 的部分,但你還是得要小心有的你以前用的gems 可能已經沒辦法用了,這是最麻煩的。建議你多用byebug去檢查每一個細節。然後如果你的gems 是那種其他都有require然後自己有改了很多的,可能就別升級了,因為光檢查就花超級無敵多的時間。但主要還是看你的評估拉,有價值就去做,沒價值可能重來或者其他方法。


#3

我建議你先升級 Ruby,會噴的地方應該少點,畢竟 Ruby 的版本變動不太大,而 Rails 你可以按照 changelog / migration 來做升版,先注意到 Rails 3 => 4 即可,另外一種方式會是乾淨轉移,類似開一個乾淨的Rails 4.2 project 再把你的 code 丟過去,用類似 env ( Rails本身的設定 ) > lib > model > controller + view + helper … 的順序來做測試和轉移,應該就會很順利才是

以下

http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html

anyway玩看看唄,你這算很簡單的,想想看 Rails 2 > 4 …((好吧,這邊我放棄X"D


#4

謝謝各位前輩的分享!!


#5

請問大大
”Rails可以按照 changelog / migration 來做升版“
這部分我不太明白,可以再多解釋一些嗎?


#6

就是@JokerCatz貼出來的連結
RailsGuide有提供升級需要注意的地方跟事項。