Cara Mengatasi SQLSTATE[42000]: Syntax error or access violation:1071 Specified key was too long

Assalamualaikum, wr. wb teman-teman. Kali ini kita akan membahas permasalahan error yang sering terjadi pada framework Laravel.

Ketika teman-teman membuat projek baru Laravel dan ingin melakukan migrasi khusus-nya pada tabel users (bawaan laravel) sedang mengalami error dengan pesan seperti judul di atas, tenang jangan panik dulu. Kali ini kita akan kasih tahu penyebab serta solusinya. Apakah error yang kalian dapat seperti gambar dibawah ini?

error

Error seperti ini disebabkan karena Laravel 5.8 ini mengubah default charset pada database-nya menjadi utf8mb4 yang mana akan berdampak jika kita menggunakan MySQL versi 5.7.7 kebawah.
Maka solusinya adalah dengan menambahkan Schema::defaultStringLength(191); pada function boot pada file AppServiceProvider.php pada folder app/Providers. Jangan lupa tambahkan juga use Illuminate\Support\Facades\Schema; sehingga kurang lebih kodenya seperti berikut jadinya.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
    }
}

Sekian untuk artikel kali ini tentang  Cara Mengatasi  SQLSTATE[42000]: Syntax error or access  violation: 1071 Specified key was too long.  Follow akun kami juga di Instagram (KLIK DISINI) untuk mendapatkan update terbaru tentang dunia developer.

Posting Komentar

Lebih baru Lebih lama