2015-09-05 116 views
1

我正在尝试创建一个新表,但是当我添加Schema::create()部分时,我从用户复制/粘贴它,因此我的原始用户表和我的新表都迁移为Schema::create('users'),并且它遇到有一个问题,因为有两个同名的表。当我意识到这个问题时,我解决了它,但是因为我现在不能使用php artisan migrate:resetphp artisan migrate:refresh来删除表格,因为现在已经有两个同名的表格了。 (因此,我也不能回滚)。Laravel 5.1 - 迁移错误

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

我得到的错误:

[照亮\数据库\ QueryException] SQLSTATE [42S02]:基表或视图未找到:1051未知表 'homestead.users'(SQL:DROP TABLE users

[PDOException] SQLSTATE [42S02]:基表或视图未找到:1051未知表 'homestead.users'

而且我不知道如果我惹一切,如果我手动登录到vagrant ssh落&手动创建表用:

mysql> drop database Homestead;

mysql> create database Homestead;

+1

你可以做'放数据库家园'和'创建数据库家园';然后再次运行'php artisan migrate'。 – Jamesking56

+0

jamesking56的答案整理出来。谢谢 – senty

回答

2

继@ Jamesking56的评论,我用:

mysql> drop database homestead; 

mysql> create database homestead; 

php artisan migrate 

,这解决了我的问题。

1

在你的down()函数中你的移植把这段代码。

Schema::dropIfExists('users'); 

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

php artisan migrate:rollback 

php artisan migrate 

重要:如果用户表存在这将下降users表。如果表不存在,则不会发生任何错误,因为MySQL会将错误转换为警告。

0

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