artisan migrateするとエラー。
specified key was too long max key length is 767 bytes
原因はだいたいここら辺で。
で、対策としてあげられている2つ
- 使用するcharasetをutf8mb4から変更する は、app/Providers/AppServiceProvider.php を
<?php class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { // Schema::defaultStringLength(191); }
というようにbootでvarcharのデフォルト値を191にするということ。
- カラムの最大値を変更し、767bytes以上の文字列が入らないようにする
絵文字いらないって言うのであれば、config/database.phpの
'mysql' => [ 'driver' => 'mysql', ..(略).. 'charset' => 'utf8mb4', 'collation' => 'utf8_unicode_ci',
を
'mysql' => [ 'driver' => 'mysql', ..(略).. 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci',
にする。こっちの方が良い感じがする。