美文网首页
laravel框架使用migrate执行php artisan

laravel框架使用migrate执行php artisan

作者: 麟12138 | 来源:发表于2019-02-24 19:37 被阅读0次

刚入手laravel框架使用migrate创建数据表之后执行php artisan migrate出现

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))

出现这种情况时因为laravel5.4+使用的字符集长度问题,5.7版本以下的MSQL不支持,所以可以选择升级5.7版本的MSQL。

但是,有的人说,我就不喜欢升级怎么滴,以下有两个方法解决低版本MYSQL报错

解决方法,前提:数据库里对应的几个表要删除,如user表

第一种,找到config目录下的database.php文件

打开文件后搜索utf8mb4,然后把这个和下面utf8mb4_unicode_ci分别改成utf8,utf8_unicode_ci

第二种,打开/app/Providers/AppServiceProvider.php

在头部先引入Schema

use Schema;

在public function boot(){}里面添加一句

Schema::defaultStringLength(191);

完整代码

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

use Schema;

class AppServiceProvider extends ServiceProvider

{

    /**

* Bootstrap any application services.

*

     * @return void

*/

    public function boot()

{

        //

        Schema::defaultStringLength(191);

    }

    /**

* Register any application services.

*

     * @return void

*/

    public function register()

{

        //

    }

}

相关文章

网友评论

      本文标题:laravel框架使用migrate执行php artisan

      本文链接:https://www.haomeiwen.com/subject/fdbbyqtx.html