Mungkin Anda pernah menghadapi error ketika sedang menjalankan fungsi migrasi tabel users pada laravel 5.5? Pesan errornya menyebutkan bahwa error disebabkan karena index dianggap terlalu panjang. Simaklah gambar di bawah ini:
Kurang lebih seperti ini: "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))."
Jika memang demikian, sangat mungkin karena basis data yang Anda gunakan adalah MySQL dengan versi di bawah 5.7.7 atau MariaDB dengan versi di bawah 10.2.2. Karena untuk Laravel versi 5.4 dan 5.5 ini ternyata set karakter default-nya adalah utf8mb4 yang belum didukung sepenuhnya oleh kebanyakan basis data versi lawas.
Laravel menyediakan opsi untuk memodifikasi default panjang string yang digunakan oleh skema basis data. Modifikasi dilakukan pada file AppServiceProvider (app\Providers\AppServiceProvider.php) tepatnya pada fungsi
Namun, selain cara di atas, kita juga bisa menggunakan alternatif lain dengan memodifikasi file migrasi. Pada file migrasi
Pada file migrasi
Demikian, semoga Anda jika bertemu masalah ini juga bisa mengatasinya.
Referensi: Dokumentasi resmi Laravel tentang migrasi.
Kurang lebih seperti ini: "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))."
Jika memang demikian, sangat mungkin karena basis data yang Anda gunakan adalah MySQL dengan versi di bawah 5.7.7 atau MariaDB dengan versi di bawah 10.2.2. Karena untuk Laravel versi 5.4 dan 5.5 ini ternyata set karakter default-nya adalah utf8mb4 yang belum didukung sepenuhnya oleh kebanyakan basis data versi lawas.
Laravel menyediakan opsi untuk memodifikasi default panjang string yang digunakan oleh skema basis data. Modifikasi dilakukan pada file AppServiceProvider (app\Providers\AppServiceProvider.php) tepatnya pada fungsi
boot
. Hasil modifikasinya seperti ini.Namun, selain cara di atas, kita juga bisa menggunakan alternatif lain dengan memodifikasi file migrasi. Pada file migrasi
CreateUserTable
:Pada file migrasi
CreatePasswordResetsTable
Demikian, semoga Anda jika bertemu masalah ini juga bisa mengatasinya.
Referensi: Dokumentasi resmi Laravel tentang migrasi.
Tidak ada komentar:
Posting Komentar