数据库迁移: Key 过长

Laravel
key was too long;max key length is 1000 bytes.
key的最大长度是1000,这里占用了1071个字节,请问是哪里出错了?有好的解决方案吗?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 8
nfangxu

手动给索引起个名

5年前 评论
李先森 (楼主) 5年前

搜到这么一个答案 链接:https://www.cnblogs.com/wangzhaobo/p/95862... ,可是我想这不是一个好的解决方案,似乎也并不能解决我的问题。
file

5年前 评论

config/database.php

file

5年前 评论
李先森 (楼主) 5年前

数据库迁移文件如下:
file

5年前 评论

file 500???

5年前 评论
李先森 (楼主) 5年前
CrazyZard

AppServiceProvider 文件加入

public function boot()
{    
    Schema::defaultStringLength(191);
}
5年前 评论
李先森 (楼主) 5年前
李先森 (楼主) 5年前
nfangxu
    public function morphs($name, $indexName = null)
    {
        $this->string("{$name}_type");

        $this->unsignedBigInteger("{$name}_id");

        $this->index(["{$name}_type", "{$name}_id"], $indexName);
    }

第二个参数设置索引名

5年前 评论

这个错误是因为 你需要建立索引的字段太长了, 导致建索引的时候报错.

你百度 mysql 1071就知道怎么做了.

5年前 评论

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