Laravel 5.4因特殊字段太长导致migrations报错的解决


Posted in PHP onOctober 22, 2017

前言

本文主要介绍了关于Laravel 5.4因特殊字段太长导致migrations报错的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。MySQL 需要v5.7.7或者更高版本,当你试着在一些MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你会碰到下面这个错误:

[Illuminate\Database\QueryException]
 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `use
 rs_email_unique`(`email`))
 
 [PDOException]
 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

解决方法

经过查询,我们可以在 AppServiceProvider.php 文件里的 boot 方法里设置一个默认值:

<?php
namespace App\Providers;
 
use Illuminate\Support\ServiceProvider;
//添加的代码
use Illuminate\Support\Facades\Schema;
 
class AppServiceProvider extends ServiceProvider
{
 /**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
  //添加的代码
  Schema::defaultStringLength(191);
 }
 
 /**
  * Register any application services.
  *
  * @return void
  */
 public function register()
 {
  //
 }
}

总结

以上就是这篇文章的全部内容了,本文还有许多不足,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP与SQL注入攻击[三]
Apr 17 PHP
php实现水仙花数示例分享
Apr 03 PHP
YII实现分页的方法
Jul 09 PHP
PHP框架Swoole定时器Timer特性分析
Aug 19 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
Jan 25 PHP
PHP数组函数array_multisort()用法实例分析
Apr 02 PHP
PHP树-不需要递归的实现方法
Jun 21 PHP
Android AsyncTack 异步任务实例详解
Nov 02 PHP
phpStudy 2016 使用教程详解(支持PHP7)
Oct 18 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 #PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 #PHP
php+ajax实现仿百度查询下拉内容功能示例
Oct 20 #PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 #PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 #PHP
PHP简单实现二维数组赋值与遍历功能示例
Oct 19 #PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 #PHP
You might like
PR值查询 | PageRank 查询
2006/12/20 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
php编程每天必学之验证码
2016/03/03 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
日期 时间js控件
2009/05/07 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
解析js如何获取css样式
2016/12/11 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
详解python中list的使用
2019/03/15 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
教育课题研究自我鉴定范文
2013/12/28 职场文书
安全生产标语大全
2014/10/06 职场文书
新娘婚礼致辞
2015/07/27 职场文书
中秋节感想
2015/08/10 职场文书
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers