situsali laravel54 migration error

Mengatasi Galat “1071 Specified key was too long” Saat Melakukan Migration di Laravel 5.4

Laravel pada versi 5.4 telah melakukan perubahan asali (default) pada character set dengan menggunakan utf8mb4 pada basisdatanya (database). Dengan utf8mb4 inilah, memungkin kita dapat menyimpan karakter berupa emoji ke dalam basis data (database).

Namun, masalah baru akan muncul, ketika kita menggunakan MySQL lebih rendah di bawah versi 5.7.7 (< 5.7.7) atau MariaDB lebih rendah di bawah versi 10.2.2 (< 10.2.2). Pada saat kita melakukan migrasi basis data (database migration) menggunakan artisan. Ia akan memunculkan galat (error) seperti berikut:

Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes”

Seperti gambar di bawah ini:

situsali laravel54 migration error

Oleh karenanya, kita perlu mengkonfigurasi secara manual pada berkas AppServiceProvider.php yang bisa kita temui pada direktori /app/Providers/.

Kita perlu menambahkan kode berikut:

...
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Schema::defaultStringLength(191);
    }
…

Setelah itu simpan lalu lakukan migrasi kembali dengan perintah:

php artisan migrate:rollback

Maka galat tersebut akan hilang.

Artikel Terkait

2 responses to “Mengatasi Galat “1071 Specified key was too long” Saat Melakukan Migration di Laravel 5.4”

  1. nay Avatar
    nay

    tetep gabisa gmna?

    1. Ali Avatar

      Apa nya yg gak bisa?

Leave a Reply

Your email address will not be published. Required fields are marked *