wake-up-neo.net

Lumen 5.6 Migrationsfehler Der angegebene Schlüssel war zu lang

Ich benutze Lumen 5.6 und MySQL. Wenn ich "php artisan migrate" eingebe, tritt folgender Fehler auf:

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`))  

Ich habe folgenden Code in die Boot-Methode des AppServiceProvider eingefügt

Schema::defaultStringLength(191);

aber ich habe keinen erfolg erzielt.

3
Babak no'doust

sie brauchen nur noch einen Schritt

gehen Sie zur Datei "app.php" im Bootstrap-Ordner und nehmen Sie die Einstellung dieser Zeile ab

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

zu diesem Code

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

haben Sie einen guten Tag

4
ards

Gehen Sie zur Konfiguration in der Datei database.php und bearbeiten Sie sie

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

zu

'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

Sie brauchen ein paar Dinge zu tun. Ich bin auch mit diesem Problem konfrontiert und habe es mit diesen beiden Schritten behoben.

// $app->register(App\Providers\AppServiceProvider::class);
  1. Nun müssen Sie boot()function in AppServiceProviderfile definieren

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

    Dann bist du gut zu gehen!

0
Mr. Pyramid