按教程操作 Migrate 失败,而且不能 rollback?

运行 php artisan migrate 之后报错

[Illuminate\Database\QueryException]
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))

此时 User表已经创建
但是migrations表中没有记录,rollback不起作用,再次执行migration报错 table users 已经存在。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
552121229
最佳答案

编辑你的AppServiceProvider.php文件,并在引导方法中添加一个默认的字符串长度

use Illuminate\Support\Facades\Schema;

function boot()
{
    Schema::defaultStringLength(191);
}

另外如果你严格按照教程的环境来,是不会遇到此问题的。

6年前 评论
讨论数量: 5
552121229

编辑你的AppServiceProvider.php文件,并在引导方法中添加一个默认的字符串长度

use Illuminate\Support\Facades\Schema;

function boot()
{
    Schema::defaultStringLength(191);
}

另外如果你严格按照教程的环境来,是不会遇到此问题的。

6年前 评论
Summer

请使用指定的 homestead 环境

6年前 评论
552121229

编辑你的AppServiceProvider.php文件,并在引导方法中添加一个默认的字符串长度

use Illuminate\Support\Facades\Schema;

function boot()
{
    Schema::defaultStringLength(191);
}

另外如果你严格按照教程的环境来,是不会遇到此问题的。

6年前 评论

@13529455424 大象图标是真的好萌啊:sweat_smile:

6年前 评论

最新的演示代码报错SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 1000 bytes 看这个解决方案: 问答:最新的修改方案,提示 specified key was too long,怎么解决?

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!