13_Laravel數據表的遷移與填充

遷移文件的創建與編寫

遷移文件默認的位置:database/migrations
這兩個文件不需要,可以給它刪除掉。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DpRR8kSb-1584256808002)(images)]

命名規範

create_名字_table.php

創建遷移文件

php artisan make:migration 遷移文件名

創建完成之後,打開,發現有up和down方法

Up方法表示創建數據表的方法
都是固定格式,後期只需要變動表名和字段就好了。
我的表名:relation

public function up()
{
    Schema::create('relation',function(Blueprint $table) {
        // 這裏是你要創建的字段
        $table -> increments('id');
        $table -> tinyInteger('article_id');
        $table -> tinyInteger('key_id');
    });
}

在創建字段時要遵循語法:

$table -> 列類型方法(字段名,[長度/值範圍]) -> 列修飾方法([修飾的值]);

列類型方法:數據類型
  • $table -> string(’’) // 相當於varchar類型
  • $table -> string(’’,$num) // 相當於varchar,且帶了一個長度
  • $table -> increments(’’) // 主鍵自增ID
  • $table -> tinyInteger(’’) // 相當於tinyint類型
  • $table -> integer(’’) // 相當於integer類型
  • $table -> enum(’’,[]) // 相當於ENUM
列修飾方法:例如有些列不能爲空,或者有默認值等等
  • comment(’’) // 添加註釋
  • default($value) // 默認值
  • nullable() // 允許爲NULL
  • unsigned() // 設置integer列爲unsigned
    Down方法表示刪除數據表的方法
public function down()
{
    Schema::dropIfExists('relation');
}

執行遷移文件

執行up方法。
如果在當前的項目中第一次執行遷移文件的話,則需要先去執行:

php artisan migrate:install
在執行過上述的命令之後,在數據表中會多出一個數據表,migrations

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ymMCH9ZR-1584256808007)(images)]

migrations表的作用是:用於創建記錄遷移文件的記錄數據表。

Down方法執行:(回滾操作,刪除數據表)

php artisan migrate:rollback
回滾最後一次的遷移操作,回滾操作不刪除遷移文件

刪除(回滾)之後會刪除上一個批次的遷移記錄,並且同批次建立的數據表也會刪除,但是遷移文件依舊存在,方便後期繼續遷移(創建數據表)。

批次號:同一次被執行的多個遷移文件其批次號相同。

針對遷移文件名的提示:如果遷移文件已經創建好並且執行了,就不要去修改遷移文件的名稱,容易出錯的。

數據表填充器

說白了就是添加數據

填充器默認位置:database/seeds

命名規範

大寫表名+TableSeeder

創建填充器

php artisan make:seeder 填充器名稱

注意事項

  1. 在填充器文件中可以使用DB門面去新增數據,但是需要注意,DB門面在使用的時候不需要用戶自己引入,一旦引入則報錯,可以直接使用。

執行填充器文件

php artisan db:seed --class=需要執行的種子文件名(不帶.php)

特別提醒:“=”兩邊不要有空格喲~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章