Laravel:可调解的迁移错误 语法错误或访问冲突:1071 指定的密钥太长;最大密钥长度为 1000 字节



我是 Laravel 新手,尝试使用 Laravel 中介包,但它在迁移时给了我一个错误 -> "[Illuminate\Database\QueryException] SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大密钥长度为 1000 字节(SQL:更改表media添加唯一media_disk_directory_filen ame_extension_unique(diskdirectoryfilenameextension))

[PDOException] SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大密钥长度为 1000 字节">

我在 Laravel 5.4.36 上,其他站点的解决方案是添加这个 ->

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

但是我已经在我的项目中有了这个。

有人可以帮忙吗?

您可以尝试通过在配置文件中屏蔽engine值来解决此问题config/database.php

'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',

如果要使用此修复程序:

Schema::defaultStringLength(191);

确保您已在config/app.php中注册此服务提供商

这项工作与我一起, 在配置/数据库中.php 我替换这个 "引擎" => 空", 跟: 引擎' => 'InnoDB ROW_FORMAT=DYNAMIC',

此解决方案而不是对字符串长度设置限制。

相关内容

最新更新