เย้ๆ อัพเกรด drupal 7 มา drupal 8 แล้ว

เย้ๆ อัพเกรด drupal 7 มา drupal 8 แล้ว

ในที่สุดบล็อกของผมก็ได้ฤกษ์อัพเกรด drupal 7 มาเป็น drupal 8 สักที กว่าจะย้ายมาได้รำบากมาก แถมต้องเรียนรู้การเขียน theme ของ drupal 8 ใหม่อีก พระเจ้าช่วยกล้วยทอด... 

อันนี้เละคือข้อเสียของ drupal ที่สำคัญ ถ้ามันมีการอัพเกรดแบบ major เมื่อไร เช่น 6.x มา 7.x หรือ 7.x มา 8.x แม่งต้องเปลี่ยนระบบพื้นฐานเกือบหมดตลอด T.T ผมใช้มาตั้งแต่ 6.x ไอ้ช่วง 7.x มาใหม่ๆ ผมก็ว้าว แม่งสวยขึ้น ใช้งานง่ายขึ้น แต่กว่าจะย้ายมาได้ก็ใช้เวลาสักพัก ต้องรอ module ที่ตัวเองใช้งานใน 6.x ให้มา 7.x ก่อน theme ก็ต้องเขียนแบบใหม่ 

ไอ้ 6.x มา 7.x นี่ยังพอได้ไม่ยากเท่าไร แต่ปัญหาการย้ายจาก 7.x มา 8.x นี่ดิ ยากบัดซบแถมต้องสูญเสียเนื้อหาบ้างส่วนไปด้วย T.T แต่ก็ดีใจที่ย้ายมาได้สำเร็จ เลยถือโอกาสเขียน theme แบบใหม่ซะเลยเอาให้คล้าย medium ฮาๆ เพราะชอบมันเรียบง่ายดี

ในเมื่อผมทำเสร็จแล้วก็ขอสรุปวิธีการย้ายระบบให้อ่านกัน ว่าจะต้องเตรียมตัวอะไรบ้างเป็น guide คราวๆ นะ

ขั้นตอนการย้าย drupal 7 ไป drupal 8

สำรองข้อมูลเว็บไซต์ทุกอย่างให้พร้อม
อันนี้ขั้นตอนพื้นฐาน สำรองไว้ให้ครบทั้งตัวเว็บ และฐานข้อมูล

ตรวจสอบ module ของตัวเองก่อนว่ามีใน drupal 8 หรือยัง? 
ดูก่อนเลยว่า module ตัวไหนของเราพร้อมยังใน drupal 8 ซึ่งในหลายๆ ตัวก็ยังไม่มี โดยบ้างตัวผมก็ต้องตัดออกไปเพราะอยากย้ายมา drupal 8 แล้วขี้เกียจรอ

ติดตั้ง drupal 8 ใหม่ๆ เลย เป็นอีกหนึ่งเว็บขึ้นมา 
ฉะนั้นตอนนี้เราจะมีสองเว็บละนะ คือ drupal 7 (ของเรา) และ drupal 8 ที่ลงใหม่ หลังจากติดตั้ง drupal 8 ไปแล้วห้ามสร้างเนื้อหา หรือผู้ใช้งานเพิ่มเด็ดขาด คืออย่าไปยุ่งกับมันดีสุด เพราะเราจะต้องย้ายงานจาก drupal 7 เรามา

ย้ายไฟล์ใน files folder มายัง drupal 8 รอไว้เลย
โดยส่วนใหญ่พวกรูป หรือไฟล์เอกสาต่างๆ ของเว็บที่เราอัพโหลดผ่านระบบจะไปอยู่ใน sites/default/files/ ก็ให้ย้ายมา ไม่ได้ให้ย้ายมาทั้งหมดนะ ย้ายเฉพาะไฟล์ที่ใช้บนเว็บจริงๆ ไอ้พวก cash ของ css กับ js ไม่ต้องเอามาละ -_- 

ติดตั้ง migrate module (https://www.drupal.org/project/migrate_upgrade) ให้กับ drupal 8 ซะ
คราวนี้ก็เลือกกันเองว่าจะย้ายข้อมูลแบบผ่านหน้าเว็บ หรือย้ายโดยใช้ drush ช่วย

ในการย้ายของผมนั้นก็ไม่ได้ราบลื่นไปซะทั้งหมด สิ่งที่ย้ายมาได้ก็คือ node, menu, view, user, content type, taxonomy เป็นต้น ส่วน module ทุกตัวผมต้องทำการ config ใหม่หมด และที่ผมเสียดายสุดก็คือ field รูปภาพของ node มันดันไม่มาด้วย ซึ่งโดยปกติแล้วเนื้อหาผมจะรูปประกอบตลอดเป็นเหมือน thumbnail ของเนื้อหานั้นๆ แต่พอย้ายมายัง drupal 8 ไอ้ค่าที่บอกว่า path ของ thumbnail รูปภาพแต่ละเนื้อหาไม่มาด้วย ทำให้เนื้อหาทั้งหมดผมไม่มีรูปแสดงออกมา T.T 

ทำให้กลายเป็นแบบปัจจุบันคือเนื้อหาจะไม่มี thumbnail รูปประกอบ ในกรณีนี้ผมทำใจเลยไม่รู้จะแก้ยังไง

ไม่ร้องไห้

ต่อมาผมก็ต้องมาเขียน theme drupal 8 ใหม่ เพราะดันเปลี่ยนโครงสร้างใหม่ทั้งหมด โดยหันมาใช้ yml ในการ config และเปลี่ยนจากเขียน php มาใช้ twig ซึ่งผมมองว่าโอเคนะทำให้เขียนง่ายขึ้น ไว้วันหลังจะมาบอกวิธีเขียน theme drupal 8 ให้อ่านแบบง่ายๆ

หลังจากย้ายมา drupal 8 ก็ถือโอกาสที่ตัวเว็บเคยทำงานอยู่บน share host โดยใช้งานผ่าน plesk control panel เลยจับย้ายมาอยู่บน digitalocean ซะเลย และก็ใช้ docker ในการทำ server จะได้บริหารง่ายขึ้นซะหน่อย 

เดียวข้อมูลพวก docker หรือ drupal 8 หลายๆ อย่างที่ผมได้ทำผ่านมาจะเริ่มเขียนลงบล็อกละ จะได้แชร์ประสบการณ์ต่างๆ ให้อ่านกัน

0

Add new comment