You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel迁移中是否需要编写down()方法?

Laravel迁移是否需要编写down()方法?

Laravel创始人Taylor Otwell曾提出过一个颇具争议的观点,这也正好戳中了很多开发者心中的疑虑。

近一年来,我的观点是永远不要回滚(rollback),始终向前迁移。因为我无法确保回滚时不会丢失用户数据。至少在我自己的项目如Forge或Envoyer中,我无法保证不会丢失数据。因此,如果可能的话,我会编写一个全新的迁移来解决问题,始终向前迁移。有时在低流量场景下,若你确定没人改动过新数据库架构,或许可以回滚,但我最近已经完全停止在迁移中编写down()方法了,现在它是可选的。不过这在Laravel 5.5中才真正可行,因为新增了db:fresh方法,无需执行down()方法即可直接删除所有表。

既然连Laravel的创始人自己都不再编写down()方法,我们还有必要继续使用它吗?

内容的提问来源于stack exchange,提问作者Nuhu wambali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 16:32:04