Laravel 安装 voyager 出现的数据库报错问题解决

laravel 安装 voyager出现的数据库报错问题解决

我在laravel 6.0版本上安装voyager 出现的错误
MySQL版本:8.0

Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key l
ength is 1000 bytes (SQL: alter table `translations` add unique `translations_table_name_column_name_foreign_key_locale_unique`(`table
_name`, `column_name`, `foreign_key`, `locale`))

数据库编码格式设置成utf8mb4,

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Schema::defaultStringLength(191);
    }
}

解决方法:

config/database.php 文件 mysql 的配置中
'engine' => null
改成
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC'
以上问题解决

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

:joy: 我直接换MySQL5.7。

4年前 评论
Developer (楼主) 4年前

神奇,昨天 CI 自动构建也是报这个错,没去查,今天看到你的帖子,哈哈

4年前 评论
Developer (楼主) 4年前
小李世界 (作者) 4年前

这个框架不好用,装完就直接删除了

4年前 评论

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