laravel项目执行 php artisan migrate [报错:字符太长]SQLSTATE[42000]: Syntax error or access violation: 1071

来吧,使用php artisan migrate执行数据库迁移

官方意思是迁移就像是数据库的版本控制器,让你的团队更容易修改和共享程序的数据库结构。迁移通常配合 Laravel 的结构生成器,能更容易的生成应用程序的数据库结构。

说实话上面一大串,没看懂,我反正理解自动自动生成数据表

卧槽,报错了,唉,常事看看吧
laravel项目执行 php artisan migrate [报错:字符太长]SQLSTATE[42000]: Syntax error or access violation: 1071_第1张图片

经过查找原因是mysql版本低
MySQL release 版本低于 5.7.7 或 MariaDB release 版本低于 10.2.2

解决方法:手动配置迁移生成的默认字符串长度
位置 :项目/app/Providers/AppServiceProvider.php

use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}

部分代码我没复制,太长,我看着不习惯,还是喜欢短小精悍,只需要use
导入SchemaL类,然后在boot(通常用来注册于这个模型增删改查相关事件的回调)function中增加Schema::defaultStringLength(191);

来吧,在继续执行php artisan migrate

laravel项目执行 php artisan migrate [报错:字符太长]SQLSTATE[42000]: Syntax error or access violation: 1071_第2张图片

原因是第一次执行数据库迁移已经生成几张表了,把生成的表删除掉,重新执行一下

laravel项目执行 php artisan migrate [报错:字符太长]SQLSTATE[42000]: Syntax error or access violation: 1071_第3张图片

成功了,在不成功我都™想回家卖红薯去了,我靠,突然想到一个红薯生态链,盖个厕所旁边卖烤红薯,想上厕所必须买我包纸,然后粑粑当种红薯的肥料,如此一来,嘿嘿,来吧赶紧来几个投资商,全国发展线下,遍地开花,哈哈哈哈

转载注明出处:熊猫路人博客

作者:Dark
源地址:http://www.36zc.cn/article_details/4
来源:熊猫路人博客
© 本文为熊猫路人博客「Dark」的原创文章,遵循 CC BY-NC-SA 版权协议,转载请附上原文出处链接及本声明。

你可能感兴趣的:(laravel)