1.資料庫遷移詳解
遷移就像是資料庫的版本控制,允許團隊簡單輕鬆的編輯並共享應用的資料庫表結構,遷移通常和 Laravel 的資料庫結構生成器配合使用,讓你輕鬆地構建資料庫結構。如果你曾經試過讓同事手動在資料庫結構中新增欄位,那麼資料庫遷移可以讓你不再需要做這樣的事情(來自於手冊文件資料庫遷移簡介)
2.操作
2.1執行遷移
1)通用是使用artisan命令來進行遷移操作,laravel預設有兩個遷移檔案一個users一個passwordResets表。
// 根據遷移檔案在資料庫內生成資料表
命令列:php artisan migrate
執行後你就會發現你連線的資料庫中多了3個表,一個是users表(這裡我用的是customers,直接複製的 Users遷移檔案),一個password_resets表,還有一個migrates表。這裡友情提示,不建議直接用user 當使用者表,user的定義太大了,我們一般用客戶,當然按照你們實際情況決定,偏要用user當使用者表也 不反對。
2)表結構
customers 表結構
migrations 表結構
password_resets 表結構
3) 遷移檔案所在目錄,裡邊具體內容自己看吧。
2.2 生成遷移
1) 命令列操作:php artisan make:migration create_customerInformation_table
2) 效果:生成一個客戶資訊表 customer_information
遷移檔案,這時候你會發現在 database/migrations
檔案下生成了一個 2019_06_06_130424_create_customer_information_table.php
檔案。
3)方法:你看到了一個up方法和一個down方法,up 方法用於新增新的資料表, 欄位或者索引到資料庫, 而 down 方法就是 up 方法的反操作,和 up 裡的操作相反。一個建立一個刪除。
4)欄位新增:客戶資訊表,儲存客戶資訊的,就相當於網頁的個人中心,這裡簡單舉例就簡單幾個欄位屬性,主鍵id,customer_id,性別 sex,暱稱 nick_name,地址 address,具體請看圖片裡的註釋
5)寫完後,執行遷移,命令列:php artisan migrate
,這時候資料庫裡就有了新的客戶資訊表,看圖片哦。
客戶資訊表結構
2.3回滾遷移
1)想要回滾最新的一次遷移”操作“,可以使用 rollback 命令,這將會回滾最後一批執行的遷移,可能包含多個遷移檔案:
命令列操作:php artisan migrate:rollback
2)你也可以通過 rollback 命令上提供的 step 選項來回滾指定數目的遷移,例如,下面的命令將會回滾最後3條遷移:
命令列操作:php artisan migrate:rollback --step=3
3)migrate:reset 命令將會回滾所有的應用遷移:
命令列操作:php artisan migrate:reset
4)在單個命令中回滾 & 遷移,migrate:refresh 命令將會先回滾所有資料庫遷移,然後執行 migrate 命令。這個命令可以有效的重建整個資料庫:
命令列操作:php artisan migrate:refresh
// 重建資料庫並填充資料
命令列操作:php artisan migrate:refresh --seed
5)你也可以回滾或重建指定數量的遷移 —— 通過 refresh 命令提供的 step 選項。
// 回滾3條資料遷移
命令列操作:php artisan migrate:refresh --step=3
6)刪除所有表 & 遷移migrate:fresh 命令將會先從資料庫中刪除所有表然後執行 migrate 命令
命令列操作:php artisan migrate:fresh
剩下的修改欄位之類的就之後寫吧。