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

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

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

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

卧槽,报错了,唉,常事看看吧

经过查找原因是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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值