กอนอื่นคุณจะต้อง อัพเกรด Ruby Gems และ Rails เป็นเวอร์ชั่นที่ต้องการเสียก่อน โดยเริ่มจาก Ruby Gems:
$ sudo gem install rubygems-update $ sudo update_rubygems
จากนั้นจึงอัพเดต Rails โดยใช้คำสั่ง
$ gem install rails $ gem install rails --version "=2.2.2"
ถ้าคุณใช้ SCM ที่สนับสนุนการทำ branching แบบง่ายๆเช่น Git ตอนนี้เป็นเวลาที่ดีที่จะสร้าง branch ใหม่สำหรับแอพพลิเคชั่นของคุณเพื่อที่คุณจะได้เก็บการแก้ไขต่างๆในการอัพเกรดแยกจาก branch หลัก เมื่อคุณแก้ไขโค้ดเรียบร้อยแล้วคุณค่อยรวมประวัติกลับเข้ามาใน branch หลักก็ได้
$ git checkout -b rails23upgrade
แก้ไฟล์ environment.rb ให้ใช้เวอร์ชั่นของ Rails ที่คุณเพิ่มอัพเกรด:
RAILS_GEM_VERSION = '2.3'
จากนั้นใช้ rake task เพื่ออัพเกรด configs, javascripts, และ bootstrap ของคุณ
$ rake rails:update
คุณสามารถอัพเกรดปลั๊กอินได้ง่ายๆโดยการลบปลั๊กอินเก่าออกจากไดเร็คทอรี่เก็บปลั๊กอินและติดตั้งเวอร์ชั่นใหม่แทน:
$ rm vendor/plugins/fancy_plugin $ ./script/plugin install fancy_plugin
คุณอาจจะต้องแก้ไขโค้ดในแอพพลิเคชั่นและไฟล์การตั้งค่าเพื่อใช้ปลั๊กอินใหม่ด้วย
สิ่งที่แน่นอนเกี่ยวกับ Rails อย่างนึงคือ Rails จะเปลี่ยนแปลงอยู่เรื่อยๆ เพราะฉะนั้นคุณอาจจะอยากอ่านว่ามีอะไรใหม่ในแต่ละเวอร์ชั่นบ้าง:
ถ้าคุณอัพเกรดจาก Rails เวอร์ชั่นเก่ามากๆอย่าง 1.0 คุณอาจจะต้องแก้โค้ดของแอพพลิเคชั่นคุณเยอะทีเดียว
ในแต่ละเวอร์ชั่นของ Rails เมื่อโค้ดถูกแก้ไขให้ทำงานได้ดีขึ้น บางครั้งฟีเจอร์เก่าๆก็ถูกลบออก เปลี่ยนชื่อ หรือว่าเตรียมถูกปลดระวาง (deprecated) เพราะฉะนั้นคุณจะต้องแก้แอพพลิเคชั่นของคุณให้ใช้วิธีใหม่แทน
บ่อยครั้งที่คุณสามารถใช้ปลั๊กอินเพื่อทำงานแทนฟีเจอร์ที่ถูกลบออกไปจาก Rails แล้วได้ เช่น:
แน่นอนว่าเวอร์ชั่นใหม่ของ Rails ต้องมาพร้อมกับความสามารถใหม่ๆเพิ่มขึ้น และฟีเจอร์เหล่านี้บางที่ก็เคยเป็นปลั๊กอินมาก่อน แต่ว่ามีประโยชน์มากเสียจนถูกย้ายมาอยู่ในตัวเฟรมเวิร์คเองเลย เช่น:
ถ้า Rails เวอร์ชั่นใหม่มีฟีเจอร์ที่คุณเคยใช้จากปลั๊กอิน ก็ถึงเวลาที่คุณจะโละปลั๊กอินออกและเปลี่ยนไปใช้ฟีเจอร์จาก core แทนได้แล้ว
สุดท้ายนี้ให้ลองรันชุดทดสอบที่คุณเขียนขึ้นสำหรับแอพพลิเคชั่นของคุณเพื่อดูว่าทุกอย่างเรียบร้อยดีหรือเปล่า ถ้าโอเคก็ถึงเวลาพักผ่อนล่ะ เพราะไม่มีบั๊กต้องแก้แล้ว!
Discussion