เมื่อวานเกิดคึก อยากจะอัปเกรด Blog จาก Drupal 6 ไป 7 + โมดูลที่ใช้พร้อมที่จะให้อัปเรกดแล้วด้วย (คือ ใช้ไม่เยอะนัก) ก็เลยจัดซะ แก้คัน เวอร์ชั่นที่อัปคือ จาก 6.22 ไป 7.7
ครั้งแรกลอง ก็ เน่าครับ เรียบร้อย ปิดโมดูลต่างๆ เรียบร้อย แต่ลืมปรับธีมกลับเป็น Default เซ็งเลย เลยกลับมาหา Instruction อ่าน เราผิดเองที่นิสัยไม่ดี ครั้งก่อนอัปจาก 5 มา 6 ก็ประมาณนี้แหละ แบ่บว่าไม่เข็ด
ก็นั่งหาวิธี ซึ่งเรารู้อยู่แล้วว่าในแพกเกจของ Drupal ที่ดาวน์โหลดมามันต้องมีวิธีแนะนำอยู่แล้ว ก็คุ้ยๆ ดู เจอไฟล์ UPGRADE.txt อ่านโดยสรุปๆ แล้ว ได้ขั้นตอนตามนี้
- ตรวจสอบโมดูลและธีมที่ใช้อยู่ ว่ามีให้ใช้ใน 7 หรือเปล่า
- อัปเดตทุกสิ่งทุกอย่างให้เป็นเวอร์ชั่นล่าสุด
- ล๊อกอินเป็น user 1
- ไปสั่ง Off-line ที่ Site maintenance
- เปลี่ยนธีมกลับเป็น Garland เพราะเป็นธีมที่ต้องใช้ในการอัปเกรด
- ปิดทุกโมดูลที่ไม่ใช่ Core และ Core optional แต่ของผมลบทิ้งไปเลย เพราะอัปหลายรอบไม่ผ่าน เลยพยายามเคลียร์ Database แต่ก็มาพบว่า การ Uninstall module นั้น ไม่ได้ช่วยอะไรเท่าไหร่นัก เพราะตารางก็ยังคงเน่าอยู่อย่างเดิม T T
- ลบไฟล์ sites/default/default.settings.php เพราะเดี๋ยวจะต้องเอาของเวอร์ชั่น 7 มาแทน
- ลบไฟล์และโฟลเดอร์ของ Drupal ทั้งหมดทิ้ง ยกเว้นโฟลเดอร์ sites ส่วนของผมอัปต่อเนื่องมาตั้งกะ 4 เลยยังมีโฟลเดอร์ files อยู่ (วางอยู่นอก sites) ก็ เก็บไว้ด้วย
- ถ้ามีโมดูลที่ Uninstall ไปแล้วก็ตามไปลบไฟล์ใน sites/all/ ด้วย
- ดาวน์โหลด DP7 มาไว้ที่ Document root แล้วแตกไฟล์ซะ พร้อมจัดวางไฟล์ให้เข้าที่เข้าทาง
- อย่าลืม .htaccess หรือ robots.txt ด้วย
- แก้ไขสิทธิ์ของไฟล์ sites/default/settings.php ให้เขียนได้ เพราะเดี๋ยวมันต้องเขียนคอนฟิกซ์ใหม่ลงไป
- รัน update.php อย่าลืมแก้ $update_free_access ใน sites/default/settings.php ด้วย
- อัปเสร็จแล้วก็แบคอัปด้วย อีกสักรอบ + แก้ $update_free_access คืน แล้วก็ยกเลิกสิทธิ์การเขียนไฟล์ของ sites/default/settings.php เป็นอันเสร็จพิธี
- อย่าลืมปิด Site-off line ที่ Administration > Configuration > Development > Maintenance mode
ส่วนประสบการณ์ของผมนั้นเลวร้ายมาก อัปยังไงก็ไม่ผ่าน เลยลองเอามาอัปใน Localhost ดันผ่าน ก็เลยย้าย DB จาก Localhost นั่นแหละ ขึ้นไปเลย พอแก้ Config DB วางไฟล์เรียบร้อยแล้ว ก็ยังเข้าเว็บไม่ได้ มันบอกว่าเชื่อมต่อ DB ไม่ได้ ไล่หาอยู่ตั้งนาน ปรากฏว่า มันเขียน Config DB ใหม่ จากบรรทัดเดียวไปเป็น Array แต่ไอ้คอนฟิกเดิมที่มีบันนทัดเดียวมันดันไม่ลบทิ้ง ไม่เราก็ไปไล่แก้ที่ไอ้บรรทัดเดิมอยู่สองสามรอบ - -"
ปล. เดี๋ยวงานช้างก็อัป ubuntuclub นี่แหละ ไม่อยากเลยให้ตาย
ปล2. หลับอัปเกรดแล้วยังมีเออเรอร์โผล่ให้เห็นบ้าง หวังว่าอาการจะไม่หนักนะ DB เน่ามากแล้ว หาเวลาล้างบางไม่ได้สักที