2015-09-05 185 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

從包含遷移表的數據庫中刪除所有表。刪除表後,您可以像以前一樣遷移數據庫。