数据库迁移详解见下链接:
https://learnku.com/docs/laravel/5.5/migrations/1329
【开发规范】利用Migrate对数据库开发版本管理
https://www.cgspread.com/9245.html
为什么需要 migrate? 而不是什么其他方法
- Migrate 可以让开发者简洁的修改和维护数据库。 它避免了人为的手写 SQL 语句, 可以方便的进行不同数据库之间数据迁移。还可以追踪到哪些迁移脚本被执行,开发者可以不再担心数据库的状态从而更加关注如何编写出更好的系统。
- 我们先回顾下更新数据库的老方法,每次当你需要增加一张表也好,修改表的结构也好,你会这么做:
- 进 MySQL 命令行 / phpMyadmin / 其他 SQL 工具 (比如SQLyog)
- 或者手工写 SQL 语句来做这件事(create table, create database, ...)
老方法的问题
1、任何数据库操作都不知道时间
比如创建一个数据库,或者给表增加一个字段,你没办法去查这个字段是什么时候加的。
除非你自己或者你的团队有去特意写记录。X月X号添加XX字段,理由:XX
2、团队成员之间的数据库同步
每次某个人实现一个新功能创建了新的数据表格,其他人从 git 上面 pull 下来之后,
也要去跑这些 SQL 语句,创建同样的表格。
用了 migrate
1、任何数据库操作都不知道时间
这个问题通过直接看 db/migrate/ 里的文件名时间就知道了
2、团队成员之间的数据库同步
pull 完代码之后直接 rake db:migrate 就完事了。