การอัพเกรดแอพ Rails บางตัวทำได้ง่ายเหมือนกับ bundle update rails
.
แต่ถ้าคุณมี อื่นๆ . อย่างใดอย่างหนึ่ง แอพประเภทไหน คนที่ยังคงอยู่ใน Rails 4.0 หรือแม้แต่ 3.2 เพราะคุณไม่รู้สึกอยากลากพวกเขาเตะและกรีดร้องไปสู่อนาคต?
ไม่ว่าคุณกำลังเผชิญกับการอัปเกรดอย่างรวดเร็วหรือเจ็บปวด ขั้นตอนเหล่านี้จะช่วยให้คุณนำแอปของคุณไปใช้ Rails 4.2 ได้อย่างราบรื่นที่สุด และในกระบวนการนี้ คุณจะได้เรียนรู้วิธีใช้ประโยชน์จากคุณลักษณะใหม่ของ Rails 4.2 อย่างเต็มที่
อ่านคู่มือการอัปเกรด
คุณควรเริ่มการอัปเกรด Rails ทุกครั้งโดยอ่านคู่มือการอัปเกรด Rails
คู่มือการอัปเกรดจะแนะนำคุณเกี่ยวกับการเปลี่ยนแปลงหลักๆ ส่วนใหญ่ระหว่างเวอร์ชัน Rails จะบอกคุณอย่างชัดเจนถึงวิธีเปลี่ยนแอปของคุณเพื่อแก้ไขปัญหาที่ใหญ่ที่สุดที่คุณจะพบ (เช่น การเปลี่ยนแปลงใน Rails 4.1 นี้จะทำให้เราต้องเจ็บปวดหลายชั่วโมงหากเราไม่ทันระวัง)
แต่ยิ่งไปกว่านั้น คู่มือการอัปเกรดจะอธิบาย ทำไม คุณควรทำการเปลี่ยนแปลงเหล่านั้น และนั่นเป็นสิ่งสำคัญ เพราะจะช่วยให้คุณเข้าใจว่าคุณควรปฏิบัติตามคำแนะนำใดและไม่ควรมองข้าม
และถ้าคุณต้องการเข้าใจการเปลี่ยนแปลงของ Rails 4.2 อย่างลึกซึ้งยิ่งขึ้น โปรดอ่านบันทึกประจำรุ่น พวกเขาจะแนะนำให้คุณรู้จักกับฟีเจอร์ใหม่ของ Rails 4.2 ที่คุณจะสามารถใช้ได้ในไม่ช้า หากไม่มีสิ่งใด มันจะกระตุ้นให้คุณทำการอัปเกรดนั้นให้เสร็จ
อัปเกรดเป็นขั้นตอน
เมื่อคุณกำลังจะย้ายไปใช้ Rails เวอร์ชันใหม่ ให้อัปเกรดเป็นเวอร์ชันพอยต์ใหม่ล่าสุดก่อนเสมอ และอย่าข้ามเวอร์ชันย่อย
ดังนั้นหากคุณต้องการอัปเกรดจาก 4.1.6 เป็น 4.2 ให้ไปที่ 4.1.6 เป็น 4.1.9 และ 4.1.9 เป็น 4.2 หากคุณเริ่มที่ 4.0.12 ให้เปลี่ยนจาก 4.0.12 เป็น 4.0.13 จากนั้น 4.0.13 เป็น 4.1.9 จากนั้นเปลี่ยนจาก 4.1.9 เป็น 4.2 อาจดูเหมือนใช้งานได้มากขึ้น แต่จะช่วยคุณประหยัดเวลาในระยะยาว
ทำไม?
Rails เวอร์ชันล่าสุดมีคำเตือนการเลิกใช้งานที่ดีที่สุด
อย่าประมาทว่าคำเตือนการเลิกใช้งานมีประโยชน์เพียงใด หากคุณอัปเกรดเป็นขั้นๆ พวกเขาจะบอกคุณอย่างแน่ชัดว่าอะไรจะเกิดขึ้นและจะป้องกันได้อย่างไร หากคุณกระโดดไกลเกินไป แอปของคุณก็จะพังทันที และคุณจะไม่รู้เลยว่าทำไม
สุดท้าย หาก Rails เวอร์ชันพอยต์ที่อัปเกรด (เช่น จาก 4.0.9 เป็น 4.0.13) หยุดการทดสอบ โดยปกติแล้วจะด้วย แตกระหว่างการอัปเกรดหลักหรือรอง แต่ปัญหาเหล่านั้นจะแก้จุดบกพร่องและแก้ไขได้ง่ายขึ้นเมื่อมีการเปลี่ยนแปลงน้อยลง
สิ่งที่ต้องทำมีดังนี้:
- อัปเกรดเป็นเวอร์ชันใหม่ล่าสุดของ Rails เวอร์ชันใดก็ตามที่แอปของคุณเปิดอยู่
- อัปเกรดอัญมณีอื่นๆ ที่ป้องกันไม่ให้คุณ
bundle update
ไอเอ็นจี - แก้ไขการทดสอบ ดำเนินการตามความจำเป็น
- แก้ไขคำเตือนการเลิกใช้งาน โดยดำเนินการตามความจำเป็น
- อัปเกรดเป็น Rails เวอร์ชันรองหรือเวอร์ชันหลักถัดไป แล้วทำซ้ำ
พึ่งพาการทดสอบของคุณ
เมื่อคุณอัพเกรด Rails การทดสอบของคุณจะเป็นสัญญาณแรกของคุณว่ามีบางอย่างไม่ถูกต้อง พวกเขาควรเป็นสิ่งแรกที่คุณดำเนินการและเป็นสิ่งแรกที่คุณแก้ไข อย่ามัวแต่พยายามโหลดแอป Rails ก่อนที่การทดสอบของคุณจะผ่าน
อัปเกรดอัญมณีของคุณ
เมื่อการทดสอบล้มเหลวและดูเหมือนว่าไม่ใช่ความผิดของคุณ โดยปกติแล้วหมายความว่าอัญมณีชิ้นใดชิ้นหนึ่งของคุณต้องได้รับการอัปเดต
การอัปเกรด Rails เป็นช่วงเวลาที่แย่ที่สุดในการอัพเกรดอัญมณี เนื่องจากแอปของคุณเปลี่ยนแปลงไปมาก จึงเป็นเรื่องยากที่จะบอกได้ว่าการอัปเกรด Rails ทำสิ่งใดเสียหาย หรือการอัปเกรดอัญมณีทำให้บางอย่างเสียหาย หรือคุณทำบางสิ่งพัง
แต่เนื่องจากอัญมณีบางชนิดต้องพึ่งพาระบบภายในของ Rails เป็นอย่างมาก คุณจึงต้องทำสิ่งนี้ ดังนั้นหากมีบางอย่างภายใน sass ล้มเหลว ให้อัพเกรดอัญมณี sass-rails และหวังว่ามันจะไม่ทำให้เรื่องแย่ลงไปอีก
รับ ล็อต ของโน้ต
หากคุณมีการอัปเกรด Rails แบบคร่าวๆ คุณจะต้องทดลอง คุณอาจจะทำการดีบั๊ก ปรับแต่งโค้ด หรือเปลี่ยนแปลงการทดสอบบางอย่าง
เมื่อคุณทำเช่นนี้ คุณจะ จะ ลืมการเปลี่ยนแปลงที่คุณทำ บางสิ่งที่คุณพยายามทำให้คุณเป็นส่วนใหญ่ แต่ก็ไม่ได้อยู่ที่นั่น การทดสอบใดที่คุณจะดูต่อไป สถานที่อื่นที่คุณต้องเปลี่ยนรหัส เคล็ดลับในการแชร์กับเพื่อนร่วมงานที่กำลังอัปเกรดแอปของตนเองเป็น Rails 4.2
ดังนั้นจดบันทึกจำนวนมาก เขียนทุกอย่างลงไป สิ่งที่คุณพยายามและไฟล์ที่คุณเปลี่ยนแปลง สมมติฐานที่คุณมีเกี่ยวกับสาเหตุที่สิ่งต่างๆ ล้มเหลว และถูกต้องหรือไม่ อัญมณีใดที่คุณต้องอัปเดต พฤติกรรมที่ดูแปลก ๆ และคุณจะต้องการตรวจสอบอย่างใกล้ชิดมากขึ้นในภายหลัง
คุณคงไม่อยากทำการเปลี่ยนแปลง ย้อนกลับ โดยตระหนักว่าเป็นสิ่งที่ถูกต้องที่ควรทำ และจำไม่ได้ว่าคุณทำอะไรลงไป จดไว้เลย
แหล่งข้อมูลอื่นๆ บางส่วน
ในความคิดเห็น Miha Rekar ชี้ไปที่ RailsDiff ซึ่งแสดงความแตกต่างระหว่างแอป Rails ใหม่ที่สร้างขึ้นภายใต้ Rails เวอร์ชันต่างๆ นี่เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้เกี่ยวกับพารามิเตอร์การกำหนดค่าที่คุณไม่ต้องการอีกต่อไป หรือพารามิเตอร์ใหม่ที่คุณควรเพิ่มลงในแอปของคุณ
และ Daniel Kehoe ได้เขียนคู่มือที่ครอบคลุมในการอัปเดต Ruby and Rails โดยใช้ RVM และ RVM gemsets
การอัปเกรด Rails ที่ดีที่สุด
การอัพเกรด Rails บางอย่างนั้นราบรื่น สิ่งต่าง ๆ ใช้งานได้ โครงการอื่นกำลังท้าทาย โครงการแบบหลายวันหรือหลายสัปดาห์ ขึ้นอยู่กับแอปของคุณ การขึ้นต่อกัน และสิ่งเฉพาะเจาะจงที่ Rails เปลี่ยนไป แต่หากคุณทำตามขั้นตอนเหล่านี้ คุณจะได้รับประสบการณ์การอัปเกรดที่ดีที่สุด
คุณอยู่ใน Rails 4.2 แล้วหรือยัง? การอัพเกรดของคุณเป็นอย่างไรบ้าง? คุณเพียงแค่ต้องอัปเดตอัญมณีจำนวนมากหรือคุณยังไล่ตามการทดสอบที่ล้มเหลวครั้งสุดท้ายหรือไม่
(หมายเหตุโดยย่อ:ฉันจะปล่อย Practicing Rails ในวันที่ 11 กุมภาพันธ์! คุณเหลือเวลาอีกไม่กี่สัปดาห์เพื่อรับส่วนลด 25% สำหรับการเข้าถึงล่วงหน้า)