2017-04-23 225 views
2

每當我進行新的遷移並嘗試遷移時,我得到的結果就是這樣。即使我嘗試遷移:刷新等。你認爲這裏的問題是什麼?我也檢查了我的.env文件。謝謝!Laravel遷移問題

[照亮\數據庫\ QueryException] SQLSTATE [42S01]:基表或視圖已經存在:1050表 '用戶' 已經存在(SQL:創建表users id INT無符號不爲空的auto_increment主鍵,name VARCHAR( 255)不爲空,email VARCHAR(255)不爲空, password VARCHAR(255)不爲空,remember_token VARCHAR(100)爲空,created_at時間戳無效,updated_at添 estamp空)缺省字符集utf8mb4整理utf8mb4_unicode_ci)

[PDOException] SQLSTATE [42S01]:Base表或視圖已經存在:1050表「用戶」已經存在

+0

[Laravel 5.5 Error Base table or view already exists:1050 Table'users'already exists]可能重複](https://stackoverflow.com/questions/46129270/laravel-5-5-error-base-table- or-view-already-exists-1050-table-users-already) –

回答

0

的問題是,你想創建一個已經存在於數據庫中的表,

無論是在運行前從數據庫中刪除用戶表php artisan migrate:refresh

或者,如果你已經另一個遷移添加一個新列到用戶表,那麼你需要有

Schema::table('users', function (Blueprint $table)

代替

Schema::create('users', function (Blueprint $table)

重要的是要不是Schema::create將創建表,Schema::table是修改現有的表時,你會用什麼。

+0

我忘了包括它不是我想要在數據庫中遷移的「用戶」表。但是,無論何時我使用php artisan遷移,它都不會遷移我想包括在數據庫中的新表,但總是會給我這樣的結果。 –

+0

如果您運行php artisan migrate status,您可以查找遷移文件,並在其旁邊有(N)未遷移的遷移文件。 在你的情況下,當錯誤是因爲表已經存在,你可以註釋掉遷移文件中的行,或者如果你要添加一個新列,請確保你沒有''Schema :: create( 'tableName',函數(Blueprint $ table)''兩次。 – n31l

+0

好的謝謝,問題解決了:) –