在團隊合作的時候黄娘,個人的研發(fā)版本如果出現(xiàn)需要修改數(shù)據(jù)庫結構望薄,或者為數(shù)據(jù)庫添加測試數(shù)據(jù),那么就需要使用 migrations 相關的技術
官方文檔:
https://laravel.com/docs/5.3/migrations
創(chuàng)建和執(zhí)行
運行下面的命令以后會在 database/migrations 目錄下面產(chǎn)生一個形如 2016_10_02_100805_test.php 的文件鹿蜀,然后編寫其中的代碼就算是創(chuàng)建完成了一個 migration
php artisan make:migration test
下面的代碼可以執(zhí)行一個 migrations
php artisan migrate
運行機制
在數(shù)據(jù)庫中會有一個 migrations 數(shù)據(jù)表,儲存運行數(shù)據(jù)歉胶,檢測到未運行過的 migrations 便會執(zhí)行并記錄在這個數(shù)據(jù)表中
自動運行
在更新了代碼以后,如果可以自動運行 migrations 會是不錯的方式巴粪,尤其是在測試環(huán)境和多個本地部署端的情況下通今,就顯得尤為必要
如果是在 git pull 以后:
創(chuàng)建 .git/hooks/post-merge 文件,內(nèi)容為:
#!/bin/sh
# auto run migration
exec php artisan migrate
如果是在 package 里面的時候肛根,則可以使用 composer 的 scripts 機制:
文檔:
https://getcomposer.org/doc/articles/scripts.md