Laravel Migration : Syntax error or access violation, Specified key was too long


Pernahkah teman-teman saat menjalankan perintah php artisan migrate di dalam Laravel dan mendapatkan error seperti berikut ini :

SOLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long;

Secara default, Laravel menggunakan character set utf8mb4. Jika teman-tenan menjalankan versi MySQL yang lebih lama dari rilis 5.7.7 atau MariaDB yang lebih lama dari 10.2.2, maka teman-teman bisa mengaturnya secara manual. dan berikut ini bagaimana cara mengatasi problem tersebut.


Laravel MySQL
SOLUTIONS

Berikut ini adalah beberapa solusi yang mungkin bisa membantu kamu.


Untuk mengatasi problem tersebut, silahkan teman-teman buka file /app/Providers/AppServiceProvider.php, kemudian sesuaikan sehingga menjadi seperti berikut ini.

use Illuminate\Support\Facades\Schema;
 
/**
 * Bootstrap any application services.
 */
public function boot(): void
{
    Schema::defaultStringLength(191);
}

Dan sekarang silahkan teman-teman jalankan perintah php artisan migrate lagi, maka error tersebut sudah tidak akan muncul lagi.

Terima Kasih


Referensi : https://laravel.com/docs/10.x/migrations#index-lengths-mysql-mariadb

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami