企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
Laravel 5.4更改了默认数据库字符集,现在`utf8mb4`它包括对存储表情符号的支持。这只会影响新的应用程序,并且只要您运行的是MySQL v5.7.7及更高版本,您就无需执行任何操作。 对于那些运行MariaDB或更旧版本的MySQL的用户,在尝试运行迁移时可能会遇到以下错误: > \[Illuminate \\ Database \\ QueryException\] > SQLSTATE \[42000\]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节(SQL:alter table`users`添加唯一`users_email_unique`(`email`)) > > \[PDOException\] > SQLSTATE \[42000\]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节 正如要解决此问题的《迁移[指南》中](https://laravel.com/docs/master/migrations#creating-indexes)概述的那样,您所需要做的就是编辑`AppServiceProvider.php`文件,并在`boot`方法中设置默认字符串长度: ~~~ use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); } ~~~ 之后,一切都应正常进行。如果您喜欢这篇文章,请确定并加入[Laravel每周新闻](https://laravel-news.com/newsletter),不要错过任何新版本,框架提示和新教程。