Laravel 5.4 đã chuyển database character set mặc định là utf8mb4 để có thể hỗ trợ lưu trữ emojis. Nếu các dự án mới của bạn đang chạy MySQL v5.7.7 hoặc cao hơn thì bạn không cần làm gì nữa.

Ngược lại nếu dùng MariaDB hoặc các phiên bản cũ hơn của MySQL thì khi gõ php artisan migrate bạn sẽ thấy dòng lỗi như sau:

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Đây là do tên của index bị giới hạn (được Laravel tạo tự động) để sửa lỗi này, bạn mở tập tin app\Provider\AppServiceProvider.php và thêm vào phương thức boot dòng sau để mở rộng giới hạn của tên index:

Bây giờ mọi thứ đã bình thường, hãy gõ lại xem nào.

SHARE
Previous articleRepository Pattern trong Laravel
Mình rất yêu thích việc lập trình web, đam mê việc nghiên cứu, tạo ra các sản phẩm có ích cho bản thân và cộng đồng. Ngoài việc coding ra thì mình còn thích vẽ và âm nhạc, được giao lưu chia sẻ cùng với mọi người. Hiện tại mình đang sống và làm việc tại Hồ Chí Minh, Việt Nam.

6 COMMENTS

  1. Bác cho em hỏi là Laravel có chạy tốt được trong LEMP Stack không 5? (NGINX + PHP-FPM + MariaDB). Rất mong bác có thể viết 1 bài chia sẻ cụ thể về vấn đề này.

    • Chào bạn, Laravel chạy rất tốt treen LEMP Stack thậm chí nó còn chạy ổn hơn so với LAMP Stack. Cảm ơn bạn đã góp ý. Mình sẽ viết nếu có thời gian 🙂

  2. Trên Internet rất ít bài hướng dẫn tham khảo về Laravel trên LEMP bằng tiếng Việt (nếu không muốn nói là không có) nếu bạn có thời gian, rất mong 1 bài hướng dẫn từ bạn. Mình cám ơn bạn.

  3. Nếu có đề tài liên quan tới hướng dẫn về Laravel kết hợp LEMP thì rất mong bạn gửi thông báo cho mình 1 email được không ạ???? Mình rất quan tâm về chủ đề này, trên Google chưa có 1 bài hướng dẫn nào cả, nếu bạn bắt tay vào làm thì bạn sẽ là người tiên phong trong vấn đề này. Cũng là tiền đề giúp kéo thêm nhiều người đọc kỹ thuật như mình theo dõi bạn hơn nè.

LEAVE A REPLY

Please enter your comment!
Please enter your name here