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入门的学习方法
Jan 02 PHP
php print EOF实现方法
May 21 PHP
Discuz!下Memcache缓存实现方法
May 28 PHP
组合算法的PHP解答方法
Feb 04 PHP
提升PHP性能的21种方法介绍
Jun 25 PHP
php生成随机颜色方法汇总
Dec 03 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
May 12 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
Sep 01 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 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
PHP4中session登录页面的应用
2008/07/25 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
javascript 对象的定义方法
2007/01/10 Javascript
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
Python中给List添加元素的4种方法分享
2014/11/28 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
python让函数不返回结果的方法
2020/06/22 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
Python实现石头剪刀布游戏
2021/01/20 Python
python解包概念及实例
2021/02/17 Python
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
AOP的定义以及作用
2013/09/08 面试题
社团成立邀请函
2014/01/08 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
金秋助学感谢信
2015/01/21 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
创业计划书之面包店
2019/09/17 职场文书
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android
Java设计模式之代理模式
2022/04/22 Java/Android