2016-09-21 56 views
5

我正在使用Laravel 5.3.I刪除我的一個遷移文件的名稱'功能'和一切相關它非常小心,像它的ID從其他表etc.then我手動刪除表中的數據庫。但現在當我運行命令「php artisan migrate:refresh」。它顯示錯誤異常'undefined index:*** _ create_features_table'。而當我運行'php artisan migrate'時,它表明它是成功的所有表成功出現在數據庫中。但是,當我運行遷移時:刷新所有表消失。我應該如何完全刪除遷移文件?Laravel遷移未定義索引

+2

您是否試過截斷遷移表? – Manish

+0

no.can你請提一下我應該怎麼做? –

+1

在你的數據庫中你有一個表名'migrations'。這裏保存了所有的遷移信息。首先刪除所有記錄。之後運行'php artisan migrate'。這可能會幫助你 – Manish

回答

29

試試這個。

首先手動刪除下app/database/migrations/my_migration_file_name.php

遷移文件重置作曲家自動加載文件:composer dump-autoload

修改數據庫:刪除migrations table

+0

謝謝曼尼什的諮詢。我認爲這個程序會工作。下次我會經歷這個。 –

+0

如果你滿意我的答案。那麼請將我的答案標記爲已接受。 – Manish

+0

只是「composer dump-autoload」爲我工作 – Zaman

4

這裏的最後一項是我did.I清除所有數據庫中的數據包括所有表,然後運行'php artisan migrate'..這就是我如何使它工作..但我正在尋找一個更好的解決方案,它不需要從數據庫中刪除所有內容。你必須先正確遷移

php artisan migrate:status

+0

'composer dump-autoload'將糾正你所有的問題。所以不要驚慌。如果您擔心,請先備份您的項目。在運行上述腳本之前。 – Manish

+2

清除數據庫表爲我工作。在Composer中傾銷自動加載沒有任何效果。 –

0

嘗試校驗,那麼你可以嘗試像

php artisan migrate:refresh --step=1

,並再次檢查狀態。