Laravel 5.4 itibariyla default veritabanı karakter setini utf4mb4 olarak değiştir. Böylece emojileri de saklayabiliyoruz. Fakat mySQL 5.7.7'den önceki sürümlerde aşağıdaki hatayı ver
[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
Bu konuda laravel'in sitesindeki migrasyon rehberinde çok basit bir düzenleme öneriliyor. AppServiceProvider.php dosyasında bulunan boot metodunda karakter uzunluğunu belirtmeniz yeterli olacaktır.
use Illuminate\Support\Facades\Schema;
public function boot() {
Schema::defaultStringLength(191);
}