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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
php获取字符串中各个字符出现次数的方法
Feb 23 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
详解php中 === 的使用
2016/10/24 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
前端微信支付js代码
2016/07/25 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
abstract class和interface有什么区别
2013/08/04 面试题
夜大毕业生自我鉴定
2013/10/31 职场文书
农民工工资支付承诺函
2014/03/31 职场文书
师范生求职信
2014/06/14 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
婚礼父母答谢词
2015/01/04 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery