Laravel迁移中是否需要编写down()方法?
Laravel迁移是否需要编写
down()方法? Laravel创始人Taylor Otwell曾提出过一个颇具争议的观点,这也正好戳中了很多开发者心中的疑虑。
近一年来,我的观点是永远不要回滚(
rollback),始终向前迁移。因为我无法确保回滚时不会丢失用户数据。至少在我自己的项目如Forge或Envoyer中,我无法保证不会丢失数据。因此,如果可能的话,我会编写一个全新的迁移来解决问题,始终向前迁移。有时在低流量场景下,若你确定没人改动过新数据库架构,或许可以回滚,但我最近已经完全停止在迁移中编写down()方法了,现在它是可选的。不过这在Laravel 5.5中才真正可行,因为新增了db:fresh方法,无需执行down()方法即可直接删除所有表。
既然连Laravel的创始人自己都不再编写down()方法,我们还有必要继续使用它吗?
内容的提问来源于stack exchange,提问作者Nuhu wambali
相关产品推荐
相关产品推荐

