laravel数据迁移,执行迁移文件时错误
解决方案一
laravel为了支持某些字符表情使用的是utf8mb4编码
升级mysql到5.7.7版本以上让他支持utf8mb4编码
解决方案二
修改config/database.php的配置项
//'charset' => 'utf8mb4',
//'collation' => 'utf8mb4_unicode_ci',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
解决方案三
MySql版本到5.5.3以上,使用utf8mb4;
手动配置迁移命令migrate生成的默认字符串长度,在Providers/AppServiceProvider.php中调用Schema::defaultStringLength方法来实现配置:
use Illuminate\Support\Facades\Schema;
/**
* Bootstrap any application services.
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}