在团队合作的时候,个人的研发版本如果出现需要修改数据库结构,或者为数据库添加测试数据,那么就需要使用 migrations 相关的技术
官方文档:
https://laravel.com/docs/5.3/migrations
创建和执行
运行下面的命令以后会在 database/migrations 目录下面产生一个形如 2016_10_02_100805_test.php 的文件,然后编写其中的代码就算是创建完成了一个 migration
php artisan make:migration test
下面的代码可以执行一个 migrations
php artisan migrate
运行机制
在数据库中会有一个 migrations 数据表,储存运行数据,检测到未运行过的 migrations 便会执行并记录在这个数据表中
自动运行
在更新了代码以后,如果可以自动运行 migrations 会是不错的方式,尤其是在测试环境和多个本地部署端的情况下,就显得尤为必要
如果是在 git pull 以后:
创建 .git/hooks/post-merge 文件,内容为:
#!/bin/sh
# auto run migration
exec php artisan migrate
如果是在 package 里面的时候,则可以使用 composer 的 scripts 机制:
文档:
https://getcomposer.org/doc/articles/scripts.md