web-dev-qa-db-fra.com

Lumen 5.6 Erreur de migration La clé spécifiée était trop longue La longueur de clé maximale est de 767 octets

J'utilise Lumen 5.6 et mysql. lorsque je tape "php artisan migrate" l'erreur suivante se produit:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t  
oo long; max key length is 767 bytes (SQL: alter table `users` add unique `  
users_email_unique`(`email`))  

J'ai mis le code suivant dans la méthode "boot" dans AppServiceProvider

Schema::defaultStringLength(191);

mais je n'ai réussi à aucun succès.

3
Babak no'doust

vous avez juste besoin d'un pas de plus

allez sur app.php dans le dossier de démarrage et décommentez ou modifiez cette ligne 

// $app->register(App\Providers\AppServiceProvider::class);

à ce code 

$app->register(App\Providers\AppServiceProvider::class);

bonne journée 

4
ards

Aller à la configuration dans le fichier database.php puis éditer

'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',

à

'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
2
Leorent
use Illuminate\Support\Facades\Schema; //AppServiceProvider.php

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

//rollback your migration or delete all table from database then migrate again.
2
Kuldeep Mishra

Vous avez besoin de deux choses à faire. J'ai également fait face à ce problème et l'ai corrigé en suivant ces deux étapes 1. Allez sur app.php dans le répertoire bootstrap et décommentez ou modifiez cette ligne.

// $app->register(App\Providers\AppServiceProvider::class);
  1. Maintenant, vous devez définir boot()function dans AppServiceProviderfile

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

    Alors tu peux y aller!

0
Mr. Pyramid