Mengatasi Error "SQLSTATE[42000]: Syntax error or access violation: 1071" di Laravel Framework PHP


Assalamualaikum Wr.Wb...
dengan diberikan nikmat dan rezeki dari Allah SWT, disini saya Mr.GagalTotal666
akan sedikit berbagi bagaimana cara mengatasi error
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
di laravel Framework PHP.

mungkin anda sedikit kesal saat memulai perintah migrate ternyata table yang kita migrate
itu tidak bisa ke dalam database yang sudah kita buat dan muncul error seperti contoh di atas
untuk mengatasi nya gampang dan mudah, tidak susah
baiklah ikuti langkah berikut

pertama anda pergi ke directory "Config" dan cari file "database.php"
buka file "Database.php" kemudian anda edit file tersebut di bagian mysql

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],


hapus di bagian "utf8mb4" -> menjadi "utf8" dan
"utf8mb4_unicode_ci" -> menjadi "utf8_unicode_ci"
dan ubah seperti ini

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],


setelah anda ubah kemudian save file tersebut

jika cara pertama yang saya kasih masih tidak bisa, ada cara ke dua
baiklah ikuti langkah berikut

buka folder di bagian "App" klik folder atau directory "Providers"
cari file "AppServiceProvider.php" dan edit file tersebut di bagian "public function boot()"

    public function boot()
    {
        //
    }


masukan kode "Schema::defaultStringLength(191);", seperti ini

public function boot()
    {
        Schema::defaultStringLength(191);
    }

dan jangan lupa menambahkan kode
$ use Illuminate\Support\Facades\Schema;

setelah anda ubah kemudian save, jika sudah di save coba lakukan migrate kembali
$ php artisan migrate

mungkin itu saja mengenai error saat migrate di framework PHP yaitu laravel
sekian dan semoga bermanfaat bagi anda semua .....

Wassalamualaikum Wr.Wb...
Previous
Next Post »