laravel migrate エラー Illuminate Database QueryException


migrate エラー Illuminate\Database\QueryException

確認環境:
laravel 5.4
ロリポップ スタンダードプラン
php >= 5.6.4
mysql

laravel 5.4 で migrate したら、以下のエラーが出ました。 対処方法をメモしておきます。
 

エラー内容

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

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

対処方法

app/Providers/AppServiceProvider.php を変更します。
4、15行目のコードを追加します。
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;  //追加
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
        Schema::defaultStringLength(191); //追加
    }
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

この後、
php artisan migrate:refresh
します。

ロリポップの場合、
/usr/local/php7.1/bin/php artisan migrate:refresh
します。

参考: Laravel 5.4: Specified key was too long error