我使用Lumen5.6和mysql。当我键入“php artisan migrate”时,会出现以下错误:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 767 bytes (SQL: alter table `users` add unique `
users_email_unique`(`email`))
我将以下代码放入appserviceprovider的“boot”方法中
Schema::defaultStringLength(191);
但我没有取得任何成功。
6条答案
按热度按时间vof42yt11#
你只需要再多走一步
转到引导文件夹上的app.php并取消注解或修改此行
到这个代码
祝您今天过得愉快
mdfafbf12#
你需要做几件事。我也面临这个问题,并通过以下两个步骤解决了它
转到引导目录中的app.php并取消注解或修改这一行。
现在你需要定义
boot()
中的函数AppServiceProvider
文件那你就可以走了!
zdwk9cvp3#
在bootstrap/app.php中取消注解这行:
在app/appserviceprovider.php中,将下面的公共函数添加到
AppServiceProvider
班级:zu0ti5jz4#
已知在laravel/lumen 7.x中工作:
我试过不评论
AppServiceProvider::class
以及上面提到的其他解决方案,但下面的方法对我有效。如果你往里面看
/vendor/laravel/lumen-framework/config/database.php
为了charset
以及collation
,代码检查.env
归档并诉诸utf8mb4
以及utf8mb4_unicode_ci
分别是。如果数据库的字符集设置为
utf8
整理utf8_unicode_ci
,只需将以下内容添加到.env
文件:9udxz4iz5#
转到文件中的配置
database.php
然后编辑到
hujrc8aj6#