2017-06-15 88 views
1

按照laravel文檔,要回滾最新的遷移操作,可以使用rollback命令。此命令回滾遷移的最後一個「批處理」,其可以包括多個遷移文件:刪除laravel中的特定遷移

php artisan migrate:rollback 

您可以通過提供步驟選項回滾命令回滾遷移的數量有限。例如,下面的命令將回滾最後五遷移:

php artisan migrate:rollback --step=5 

遷移:復位命令將回滾所有應用程序的遷移:

php artisan migrate:reset 

您可以檢查here。但我需要刪除特定的遷移文件。根據我的項目有30-40遷移文件。我想刪除其中一個遷移文件及其模型。有沒有辦法做到這一點或必須手動完成。

+2

可能的[在Laravel中回滾一個特定遷移]的副本(https://stackoverflow.com/questions/30287896/rollback-one-specific-migration-in-laravel) –

+2

@GovindSamrow共享的是什麼您正在尋找。但在我看來,刪除遷移並不是一個好主意。或者,您應該編寫另一個遷移,根據您的新要求更改您的數據庫結構。我們必須記住,遷移提供了「版本控制的數據庫」。儘管可能,刪除僅僅是針對遷移的概念。我們必須避免這種情況,特別是在像您這樣的大型項目中。 –

回答

0

如果您只是刪除(刪除)遷移文件並重新運行遷移(migrate:refresh),則數據庫表將被重建(不包含在您刪除的遷移文件中定義的表)。

+0

是的,所有現有數據都將丟失...... – sisve

+0

原始問題沒有提到有關保存數據的任何信息。如果需要,那麼mysqldump和import需要手動完成 – CJG