美文网首页
laravel 中 mysql8 遇到的问题

laravel 中 mysql8 遇到的问题

作者: JJNile | 来源:发表于2019-06-09 23:04 被阅读0次

    删除了 NO_AUTO_CREATE_USER 模式

    在 5.7.*的日志中提到已废除该模式,在8.0.11中删除了,迁移时会抛出如下异常:
    Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

    解决方法:

    1. 将 config/database.php 配置文件中 mysql 的 strict 的值改为false

    2. 在 config/database.php 配置文件中 mysql 的增加 modes

    'mysql' => [
      'driver' => 'mysql',
      ...
      ...
      'engine' => null,
      'modes' => [
        'ONLY_FULL_GROUP_BY',
        'STRICT_TRANS_TABLES',
        'NO_ZERO_IN_DATE',
        'NO_ZERO_DATE',
        'ERROR_FOR_DIVISION_BY_ZERO',
        'NO_ENGINE_SUBSTITUTION',
      ]
    ]
    
    

    相关文章

      网友评论

          本文标题:laravel 中 mysql8 遇到的问题

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