Laravel 5.5 แก้ข้อผิดพลาด Specified key was too long

สืบเนื่องมาจากการใช้คำสั่ง php artisan migrate เพื่อทำระบบ Auth เบื้องต้น แต่มีข้อผิดพลาดข้อความประมาณว่า Syntax error or access violation: 1071 Specified key was t oo long; max key length is 767 bytes เกิดขึ้นดังรูป

จากที่ดูใน Doc ตั้งแต่ Laravel 5.4 มีการเปลี่ยนมาใช้ character  utf8mb4 เป็น Default เพื่อรองรับอิโมจิ (emojis) ในฐานข้อมูล ทีนี้ถ้า Mysql เราเก่ากว่า  5.7.7 release หรือ MariaDB เก่ากว่า 10.2.2 release มันก็จะขึ้น Error ตามด้านบน

วิธีแก้ไขคือเราจะเรียกใช้  Schema::defaultStringLength โดยเข้าไปแก้ใน AppServiceProvider เพิ่ม Code ตามด้านล่างนี้

ทีนี้ลองสั่ง php artisan migrate ดูอีกครั้งคิดว่าน่าจะใช้งานได้แล้วครับ ^^

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *