私はLumen5.6とmysqlを使用しています。 「phpartisanmigrate」と入力すると、次のエラーが発生します。
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`))
AppServiceProviderの「boot」メソッドに次のコードを挿入しました
Schema::defaultStringLength(191);
しかし、私は何の成功も達成しませんでした。
もう1つのステップが必要です
bootstrapフォルダーのapp.phpに移動し、この行のコメントを解除または変更します
// $app->register(App\Providers\AppServiceProvider::class);
このコードに
$app->register(App\Providers\AppServiceProvider::class);
良い一日を過ごしてください
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.
ファイルdatabase.php
の設定に移動し、編集します
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
に
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
やるべきことがいくつか必要です。私もこの問題に直面し、次の2つの手順に従って修正しました
bootstrapディレクトリのapp.phpに移動し、この行のコメントを解除または変更します。
_// $app->register(App\Providers\AppServiceProvider::class);
_
次に、AppServiceProvider
fileでboot()
functionを定義する必要があります
_ public function boot()
{
Schema::defaultStringLength(191);
}
_
その後、あなたは行ってもいいです!
$app->register(App\Providers\AppServiceProvider::class);
AppServiceProvider
クラスに追加します。public function boot()
{
Schema::defaultStringLength(191);
}