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.
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
Aller à la configuration dans le fichier database.php
puis éditer
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
à
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
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.
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);
Maintenant, vous devez définir boot()
function dans AppServiceProvider
file
public function boot()
{
Schema::defaultStringLength(191);
}
Alors tu peux y aller!