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