按教程操作 Migrate 失败,而且不能 rollback?

运行 php artisan migrate 之后报错

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

此时 User表已经创建
但是migrations表中没有记录,rollback不起作用,再次执行migration报错 table users 已经存在。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
552121229
最佳答案

编辑你的AppServiceProvider.php文件,并在引导方法中添加一个默认的字符串长度

use Illuminate\Support\Facades\Schema;

function boot()
{
    Schema::defaultStringLength(191);
}

另外如果你严格按照教程的环境来,是不会遇到此问题的。

6年前 评论
讨论数量: 5
552121229

编辑你的AppServiceProvider.php文件,并在引导方法中添加一个默认的字符串长度

use Illuminate\Support\Facades\Schema;

function boot()
{
    Schema::defaultStringLength(191);
}

另外如果你严格按照教程的环境来,是不会遇到此问题的。

6年前 评论
Summer

请使用指定的 homestead 环境

6年前 评论
552121229

编辑你的AppServiceProvider.php文件,并在引导方法中添加一个默认的字符串长度

use Illuminate\Support\Facades\Schema;

function boot()
{
    Schema::defaultStringLength(191);
}

另外如果你严格按照教程的环境来,是不会遇到此问题的。

6年前 评论

@13529455424 大象图标是真的好萌啊:sweat_smile:

6年前 评论

最新的演示代码报错SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 1000 bytes 看这个解决方案: 问答:最新的修改方案,提示 specified key was too long,怎么解决?

6年前 评论

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