laravel 执行迁移时报错 Syntax error or access violation 1000 Specified key was too long; max key length
当我们执行laravel 框架迁移时,总是会遇到这样的问题
Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
这个问题的根源在于我们使用的是utf8mb4 这个字符集,然后我们又使用了默认的mysql 引擎
1、在我们更换了mysql 的引擎后,一切正常
E:\PhpstormProjects\ukhflf\wwwroot\config\database.php 中设置
‘engine’ => ‘InnoDB ROW_FORMAT=DYNAMIC’,
2、 在AppServiceProvider.php 文件中的boot方法里添加如下内容。
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
问题二: 在发布 spatie/laravel-permission 命令是No publishable resources for tag [migrations].
在运行命令行 php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
发布spatie/laravel-permission 失败, 显示 No publishable resources for tag [migrations].
解决办法 : php artisan vendor:publish
选择对应版本号重新发布即可