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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
PHP页面间传递参数实例代码
Jun 05 PHP
PHP远程采集图片详细教程
Jul 01 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
php计算整个目录大小的方法
Jun 01 PHP
PHP中empty,isset,is_null用法和区别
Feb 19 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
php+websocket 实现的聊天室功能详解
May 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
php AJAX实例根据邮编自动完成地址信息
2008/11/23 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
浅谈Angular路由守卫
2017/08/26 Javascript
js匿名函数使用&amp;传参(实例)
2017/09/08 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
python中对list去重的多种方法
2014/09/18 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
华为慧通笔试题
2016/04/22 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
业务经理岗位职责
2013/11/11 职场文书
校园招聘策划书
2014/01/09 职场文书
法定代表人授权委托书
2014/04/04 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
个人自荐书怎么写
2015/03/26 职场文书
公司承诺书格式范文
2015/04/28 职场文书
python实现会员管理系统
2022/03/18 Python
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js