migration的作用就是跟踪各种变化啊 正式发布可以备份原来的migration文件夹 用下面的工具重新按照每个数据表生成全新的migration文件 github.com/kitloong/laravel-migrat...
开发过程
表结构确实会经常变动,尤其是因为前期设计考虑不周到、需求变化等原因,migrate 可以更轻松的改表、撤销,直到最终表结构稳定。
生产环境
在生产环境直接执行 migrate 命令还是有点心虚,另外也不方便监管。我现在的做法:将 migration 文件和 --pretend
生成的 SQL (微调后的)都提交到版本管理。之所以保存 SQL 是因为很多时候 migrate 生成的 SQL 并不是特别符合要求(比如表注释、字段编码等)。
如果是多人协作,SQL 还会附注到 PR 备注,方便伙伴进行 Review。
上面有大佬说的很清楚了,我的做法大概就是在第一版开发之前,修改或删除表都是先在原迁移文件进行修改或删除,会告知协同人员使用php artisan migrate:refre进行全量覆盖
投入到使用后,修改或删除都是新建新的迁移文件以便进行增量修改
还有就是支持项目的基础数据会写在数据填充里,也就是一个新项目启动或者是全量覆盖操作之后需要运行 php artisan db:seed进行基础数据填充,比如后台超级管理员账号、后台菜单数据等等
上面有大佬说的很清楚了,我的做法大概就是在第一版开发之前,修改或删除表都是先在原迁移文件进行修改或删除,会告知协同人员使用php artisan migrate:refre进行全量覆盖
投入到使用后,修改或删除都是新建新的迁移文件以便进行增量修改
还有就是支持项目的基础数据会写在数据填充里,也就是一个新项目启动或者是全量覆盖操作之后需要运行 php artisan db:seed进行基础数据填充,比如后台超级管理员账号、后台菜单数据等等