Laravel 5.4 php artisan migrate 提示表已经存在
我想大声告诉你
我想大声告诉你 2017-05-16 16:47:03
0
2
450

在数据库没有任何表的情况下执行

php artisan migrate

执行后数据库里面只会存在连个表:migrations、users

再次执行

php artisan migrate

数据库里不会有任何的新增。求解。

我想大声告诉你
我想大声告诉你

全部回复(2)
给我你的怀抱


索引的长度超过了mysql的限制,在migrate之前,设置

$table->string('email' , 32)->index();
$table->string('token' , 128)->index();

或者更小...

大家讲道理

这是因为 5.4 默认使用了utf8mb4 字符集, 在 MySQL / MariaDB .

https://laravel.com/docs/5.4/migrations#indexes

只要安装文档中的示例修改就好了.

在 AppServiceProvider.php, boot方法中, 调用 Schema::defaultStringLength 方法


// AppServiceProvider.php


use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}

顺便, 你也可以开启数据库的 innodb_large_prefix 配置

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板