Laravel 5.1 - 迁移错误

Laravel 5.1 - Migration Error

我试图创建一个新的 table,但是当我添加 Schema::create() 部分时,我 copy/pasted 来自用户所以我的原始用户 table,我的新 table 迁移为 Schema::create('users'),它 运行 遇到了问题,因为有 2 个 table 同名。当我意识到这个问题时,我修复了它但是因为我现在不能用 php artisan migrate:resetphp artisan migrate:refresh 删除 tables 因为现在已经有两个同名的 tables . (因此,我也无法回滚)。

我的数据库名称原来是 Homestead。

我遇到的错误:

[Illuminate\Database\QueryException] SQLSTATE[42S02]: Base table or view not found: 1051 Unknown table 'homestead.users' (SQL: drop table users)

[PDOException] SQLSTATE[42S02]: Base table or view not found: 1051 Unknown table 'homestead.users'

而且我不确定如果我手动登录 vagrant ssh 并手动删除和创建 tables 是否会把一切都搞砸:

mysql> drop database Homestead;

mysql> create database Homestead;

根据@Jamesking56 的评论,我使用了:

mysql> drop database homestead;

mysql> create database homestead;

php artisan migrate

这解决了我的问题。

在迁移的 down() 函数中放入此代码。

Schema::dropIfExists('users');

然后从命令行执行以下命令。

php artisan migrate:rollback

php artisan migrate

重要提示: 如果用户 table 存在,这将删除用户 table。如果 table 不存在,则不会发生任何事情,也不会给出任何错误,因为 MySQL 会将错误转换为警告。

从数据库中删除所有 table,包括迁移 table。删除 table 后,您可以像以前一样迁移数据库。