您的位置:首页 > 编程学习 > > 正文

关于laravel的日常(解决在laravel中auth建立时候遇到的问题)

更多 时间:2021-09-29 03:50:59 类别:编程学习 浏览量:935

关于laravel的日常

解决在laravel中auth建立时候遇到的问题

当你使用auth做用户登录注册的时候,会很方便,但是你在做数据库迁移的时候可能会遇到一个问题

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • $ php artisan migrate
  • Migration table created successfully.
  •  
  •  
  •  
  •  [Illuminate\Database\QueryException]
  •  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`))
  •  
  •  [PDOException]
  •  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
  •  oo long; max key length is 767 bytes
  • 不要慌,这里说的是你的数据库迁移完成了,蛋疼的是这里有一个报错,会使你在接下来项目中后面的迁移操作继续报错。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • [Illuminate\Database\QueryException]
  • SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre
  • ady exists (SQL: create table `users` (`id` int unsigned not null auto_incr
  • ement primary key, `name` varchar(191) not null, `email` varchar(191) not n
  • ull, `password` varchar(191) not null, `remember_token` varchar(100) null,
  • `created_at` timestamp null, `updated_at` timestamp null) default character
  • set utf8mb4 collate utf8mb4_unicode_ci)
  •  
  • [PDOException]
  • SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre
  • ady exists
  • 解决方案如下:

    索引长度 & MySQL / MariaDB#

    Laravel 默认使用 utf8mb4 字符,包括支持在数据库存储「表情」。如果你正在运行的 MySQL release 版本低于5.7.7 或 MariaDB release 版本低于10.2.2 ,为了MySQL为它们创建索引,你可能需要手动配置迁移生成的默认字符串长度,你可以通过调用

    项目/app/Providers/AppServiceProvider.php 中的 Schema::defaultStringLength 方法来配置它:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • use Illuminate\Support\Facades\Schema;
  •  
  • /**
  •  * 引导任何应用程序服务。
  •  *
  •  * @return void
  •  */
  • public function boot()
  • {
  •  Schema::defaultStringLength(191);
  • }
  • 或者你可以为数据库开启 innodb_large_prefix 选项,有关如何正确开启此选项的说明请查阅数据库文档。

    以上这篇解决在laravel中auth建立时候遇到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/sinat_16181325/article/details/72804384

    标签:Laravel Auth
    您可能感兴趣