端くれプログラマの備忘録 Laravel [Laravel] “Specified key was too long” エラー対処法

[Laravel] “Specified key was too long” エラー対処法

Homestead(MySQL 5.7.17)で開発した案件を本サーバー(MariaDB 10.1.13)にディプロイしたら以下エラー。

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

AppServiceProvider.phpを以下のように編集することで解決。

use Illuminate\Support\Facades\Schema;

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

参考サイト

Laravel 5.4: Specified key was too long error – Laravel News
https://laravel-news.com/laravel-5-4-key-too-long-error

Database: Migrations – Laravel – The PHP Framework For Web Artisans
https://laravel.com/docs/master/migrations#creating-indexes