日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

使用laravel的數據庫遷移功能進行表的創建,和遷移回滾之后,我們繼續說說在設計中 表結構的更改之后的處理。以及如何為數據庫填充一些偽數據作為測試。

數據約束

上一章說到數據庫遷移回滾,可以手動控制回滾到哪一批次的遷移位置。比如我們創建的 events 表, 如果在遷移文件內添加字段,代碼如下:

3分鐘短文:書接上回,Laravel數據庫遷移的那些個小技巧

 

我們在數據庫表中間的位置添加了一個 venue 字段。然后使用遷移指令

php artisan migrate

就可以應用這些改變了。

很多時候,并不是說我們創建了表,并且指定了字段名,和字段數據類型就算完事兒了。 我們需要空與非空約束,默認值約束,主鍵約束,外鍵約束等等數據庫所具有的特性, 這才是關系型數據庫的魅力。

比如聲明一個布爾類型的值,并聲明默認為false:

$table->boolean('confirmed')->default(false);

比如設定一個字符串類型的字段,允許為null:

$table->string('comments')->nullable();

比如設定整型為無符號數:

$table->tinyInteger('age')->unsigned();

在給上面的 age 字段設定默認值:

$table->tinyInteger('age')->unsigned()->default(0);

增刪字段

使用遷移功能增刪數據庫表的字段,與之前講的創建遷移文件相同, 首先創建一個遷移文件,使用以下腳手架指令:

php artisan make:migration add_enabled_to_events_table --table=events

本遷移文件我們要為表 events 添加一個 enabled 的布爾類型的字段。上述指令輸出內容如下:

Created Migration: 2020_09_28_213116_add_enabled_to_events_table

現在為該遷移文件添加 up & down 方法,指定遷移開始和回滾所要執行的動作, 我們僅僅是添加一個字段,或者在回滾的時候,刪除一個字段,代碼如下圖:

3分鐘短文:書接上回,Laravel數據庫遷移的那些個小技巧

 

完成后在命令行執行遷移指令:

php artisan migrate

輸出結果如下:

Migrating: 2020_09_28_213116_add_enabled_to_events_table
Migrated: 2020_09_28_213116_add_enabled_to_events_table

上面我們并沒有指定添加的字段在哪個字段的后面,所以laravel所組裝的SQL就默認是最后一個字段之后。 大家應該不陌生SQL語句追加字段的語法:

ALTER TABLE contacts ADD last_name varchar(40) NOT NULL AFTER contact_id;

laravel的遷移指令也允許我們指定某個追加的字段位于某個列之后:

$table->boolean('enabled')->after('name');

遷移狀態

查看當前數據庫的遷移狀態,會讓我們查看創建的遷移文件中哪些被應用了, 哪些還沒有被應用,這樣在數據庫表比較多的情況下,可以有效地排查問題。

laravel提供了腳手架命令:

php artisan migrate:status

輸出內容類似下圖:

3分鐘短文:書接上回,Laravel數據庫遷移的那些個小技巧

 

還有兩個高危指令,一個是 magrate:reset 回滾所有的遷移,不同于 migrate:rollback 僅回滾某一批次的遷移; 還有一個是 migrate:refresh,如果你修改了某些遷移過的文件,這個指令會刷新所有修改的變更并應用。

這兩個都要慎用!

寫在最后

本文是對上一章所述laravel數據庫遷移功能的補充。數據庫遷移是一個比較大的動作, 特別是已經上線生產的應用數據庫,如果非到更新遷移的地步不可,需要預期做好演練, 以應對可能的突發事故。

分享到:
標簽:遷移 數據庫
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定