saba-gu-dakusanのブログ

忘れないように設定いろいろ

Laravle 5.5 + mysqlの文字コード最適化

Laravle 5.5 + mysqlでプロジェクトを作成して、初期のままmigration(userテーブルとかの生成)するとsyntax errorになってしまうの回避方法を書いておきます。

原因:

MySQLではPRIMARY_KEY、UNIQUE_KEYを付けたカラムには最大767bytesまでになっているのが原因

対処:

app\Providers\AppServiceProvider.phpに以下を追加
boot時にデータベースの最大文字数の定義を変える

use Illuminate\Support\Facades\Schema;

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