我是Laravel的新手,试图使用Laravel可用包但它在迁移时给我一个错误 - >“[Illuminate \ Database \ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1071指定密钥太长;最大密钥长度是1000字节(SQL:alter table media
add unique media_disk_directory_filen ame_extension_unique
( disk
, directory
, filename
, extension
))
[PDOException] SQLSTATE [42000]:语法错误或访问冲突:1071指定密钥太长;最大密钥长度为1000字节“
我在Laravel 5.4.36上,其他网站上的解决方案是添加这个 - >
public function boot()
{
//
Schema::defaultStringLength(191);
}
但我已经在我的项目中有这个 .
任何人都可以帮忙吗?
2 回答
这项工作对我来说,在内部config / database.php我将'engine'=> null'替换为:engine'=>'InnoDB ROW_FORMAT = DYNAMIC',
这个解决方案而不是设置字符串长度的限制 .
您可以尝试通过
config/database.php
配置文件中的cangingengine
值来修复此问题:如果要使用此修复程序:
确保您已在
config/app.php
注册此服务提供商