在开发Laravel 4应用程序的过程中,我决定开始使用Laravel的迁移功能。
问题:我们是否应该编写用于创建数据库中当前所有表的迁移?或者我们是否只为未来的更改编写迁移?
答案 0 :(得分:0)
对此没有完全正确的答案。这一切都取决于很多变量,比如你的开发风格,你工作的人数以及在什么样的环境中(单个生产数据库?多个开发者数据库?),你对迁移的要求是什么等等。
如果执行决定在此之前为整个数据库编写迁移,则需要确保迁移可以处理任何潜在的冲突。在尝试创建表之前,使用Schema::has()
等来验证表,等等。
或者,您可以像迁移数据库一样编写迁移,并在运行迁移之前强制执行任何开发人员以使用空数据库。这有风险,所以要小心。确保您有备份,以防您的迁移忘记了某些内容,并且您需要对其进行修改。
所以,TL; DR:在整个项目的整个结构中使用迁移必然是一件坏事吗?不,是否适合您的申请?这完全取决于。