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.
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
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',
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.
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);
Nun müssen Sie boot()
function in AppServiceProvider
file definieren
public function boot()
{
Schema::defaultStringLength(191);
}
Dann bist du gut zu gehen!