Re: [請益] 誤刪了DB裡的table,如何重新migrate?

作者: meteorsok (花花小蛋糕)   2014-10-20 13:41:02
※ 引述《youneverknow (睡覺一直想)》之銘言:
: 小弟測試的時候手殘直接drop了DB裡的所有table
: 重新執行php artisan migrate:refresh
: 會報出找不到table去drop的錯
: 因而無法執行
: 請問這種狀況要怎麼解決.....
: 謝謝
#我用laravel 4.1
首先,如果你說的是真的: 手殘直接drop了DB裡的所有table
你migrate:refresh報的錯誤不會是找不到table drop
而是沒有migrations 這個 table
(
migrations table裡面放的是framwork migrate的紀錄
framework會依據裡面的內容來檢查現migrate到哪,而去執行相關動作
)
假設migrations table還在,而其他table都不見
你需要做的事情是把migrations清空 or 也把他砍了
直接run migrate 就好,不要refresh
refresh 代表執行兩個動作: rollback and migrate
framework發現migrations裡有你migrate的紀錄,想要rollback
而migrate file 裡的 down,有drop table的動作,但沒table讓它drop
才會出現你說的錯誤訊息
小注意
laravel refresh會把所有的migrate file都run 成 batch 1
為何不幫忙紀錄batch呢? 這我就不曉得了...
作者: GTim (OTAKU_G)   2014-10-25 03:38:00
推 最近剛好遇到相同問題
作者: youneverknow (睡覺一直想)   2014-10-28 16:48:00
感謝,問題已經解決

Links booklink

Contact Us: admin [ a t ] ucptt.com