Masalah tersebut sering terjadi saat kita melakukan migrasi database saat deployment ke live server.
Penyebab munclnya error Laravel unique key is too long, even if specified adalah karena string yang terlalu panjang. Kurang lebih sih gitu untuk lebih jelasnya bisa tanya yang master lah ya.
Seperti yang diuraikan dalam panduan Migrasi untuk memperbaiki ini, yang harus Kamu lakukan adalah mengedit file AppServiceProvider.php dan di dalam metode boot, tetapkan panjang string default:
Pada pengaturan default panjang stringnya adalah 255 kita akan rubah menjadi 191.
Pertama buka app\Providers\AppServiceProvider.php
Import use Illuminate\Database\Schema\Builder;
Tambahkan Builder::defaultStringLength(191); pada function boot sehingga kode lengkapnya menjadi
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Database\Schema\Builder; // new class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { Builder::defaultStringLength(191); // new } }