使用 auth 提供的 migration 创建数据表中出现问题

关于学习使用Artisan 创建Auth过程中遇到的一些问题

各位大佬你们好,我是一名最近在学习Laravel的新人,在学习使用Artisan的过程中,我根据教程,首先输入

php artisan make:auth

指令,建立了相关的资源,然后我就准备通过migrate命令来建立数据表,可是当我输入指令

php artisan migrate

后出现了如下图的提示:

image

虽然第一句显示Migration table created successfully。

但实际上,我在myphpadmin里面的状况却如下图。

如图所示,只成功的建立了两个数据表,password_reset,密码重置表,并没能建立。

根据上面的错误提示,我一开始怀疑是编码格式不对导致key的长度过长,但是我在mysql的命令行下查看过了,结果如下:


如图所示,已经成功设置为utf8了,于是,我就陷入了困境当中,所以想来向社区里面的各位大佬和高手们请教一下,对这个问题有没有什么解决的思路。十分感谢。

新发现,当我把两个migration类里面的unique()和index()方法注释掉以后,就能够成功添加了,但是为什么加上了index和unique就不行呢,还是很不解:


《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 3

已解决

各位关注我的问题的小伙伴们感谢你们的关注,问题已经解决了,方案如下

正如错误提示所写的那样,是由于key的长度太长,但是在修改了默认引擎为INNODB后,长度就变短了,于是就可以正常创建了。

7年前 评论

@jl9404 对的,用composer装的,所以是5.4,之前用5.2的时候还真没出现过,谢谢你分享的解答,这下知道为什么了,谢谢你。

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!