laravel 默认用户名和密码迁移错误

Posted

技术标签:

【中文标题】laravel 默认用户名和密码迁移错误【英文标题】:laravel default username & password migration error 【发布时间】:2018-07-10 07:55:15 【问题描述】:

在 Connection.php 第 647 行:

SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键是 太长;最大密钥长度为 1000 字节(SQL:alter table users add uni 阙users_email_unique(email))

在 Connection.php 第 449 行:

SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键是 太长;最大密钥长度为 1000 字节。 . . .

我该如何解决这个问题??

当我想在 CMD 中迁移默认迁移时,会发生此错误。

【问题讨论】:

Laravel migration: unique key is too long, even if specified的可能重复 设置更短的密钥长度?您已将电子邮件字段设置为非常长的值?能发一下表结构吗? 嗯,这是因为 mysql 索引仅适用于长度小于 192 的字符串。您可能需要更改 defaultStringLength .. 【参考方案1】:

将此添加到您的 AppServiceProvider.php 文件中:

public function boot()

    Schema::defaultStringLength(191);

Laravel News 的 article 解释了它

【讨论】:

【参考方案2】:

对于 Laravel 5.4,在 AppServiceProvider.php 中添加代码

use Illuminate\Support\Facades\Schema;

boot

public function boot()

    Schema::defaultStringLength(191);

【讨论】:

以上是关于laravel 默认用户名和密码迁移错误的主要内容,如果未能解决你的问题,请参考以下文章

laravel 5.4 迁移问题

无法使用 Laravel 迁移 [重复]

Laravel:在另一个数据库上运行迁移

使用 Laravel 迁移创建外键时出现 MySQL 错误

使用Laravel迁移创建外键时出现MySQL错误

Laravel 显示错误拒绝用户访问