遷移:建立資料表的操作 + 删除資料表的操作。 填充:往資料表裡填充寫入測試的資料(資料的插入操作)。
1.1 資料的遷移操作
在遷移過程中,操作可以分為兩個部分:建立與編寫遷移檔案、執行遷移檔案。
1.1.2 遷移檔案的建立與編寫
遷移檔案預設的位置:

1、建立遷移檔案 例:需要建立試卷的資料表,假設資料表的名字叫做paper。遷移檔案名:create_paper_table
在寫之前含義如下:
Schema門面(類)是用于操作資料表的門面,調用其具體的方法之後就可以實作建立資料表與删除資料表,文法如上。 實作試卷表paper的建立:
id 表的主鍵,自增 Paper_name 試卷名稱,唯一,varchar(100),不為空 Total_score 試卷總分,整型數字,tinyint,預設為100 Start_time 試卷開始考試時間,時間戳類型(整型int) Duration 考試時間長度,機關分鐘,整型tinyint Status 試卷是否啟用的狀态,1表示啟用,2表示禁用,預設為1,tinyint類型。
在建立資料表的列的時候遵循文法:
常用的列類型:
列類型 | 解釋 |
---|---|
$table -> string('email') | 等同于資料庫中的VARCHAR列 |
$table -> string('name', 100) | 等同于資料庫中的VARCHAR,帶一個長度 |
$table -> increments('id') | 資料庫主鍵自增ID |
$table -> tinyInteger('numbers') | 等同于資料庫中的TINYINT類型 |
$table -> integer('votes') | 等同于資料庫中的INTEGER類型 |
$table -> enum('choices', ['foo', 'bar']) | 等同于資料庫中的ENUM類型 |
建立資料表的遷移代碼:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePaperTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('paper', function (Blueprint $table) {
// id 表的主鍵、自增
$table->increments('id') -> comment('自增主鍵');
// paper_name 試卷名稱,唯一,varchar(100),不為空
$table->string('paper_name', 100) -> comment('試卷名稱') -> unique();
// Total_score 試卷總分,整型數字,tinyint,預設為100
$table->tinyInteger('total_score') -> comment('試卷總分') -> default(100);
//start_time 試卷開始考試時間,時間戳類型(整型int)
$table->integer('start_time') -> comment('考試開始時間');
// duration 考試時間長度,機關分鐘,整型tinyint
$table->tinyInteger('duration') -> comment('考試時長');
// status 試卷是否啟用狀态:1、表示啟用。2、表示禁用。預設為1,tinyint類型
$table->tinyInteger('status') -> comment('試卷啟用狀态') -> default(1);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('paper');
}
}
如下:
1.2 執行遷移檔案
執行分為up執行和down執行。
1.2.1 up方法的執行:
先去執行(進而産生一個遷移記錄表): php artisan migrate:install
作用:用于建立記錄遷移檔案的記錄資料表。 需要執行up方法,則需要執行指令:
php artisan migrate
1.2.2 Down 方法執行:
down方法執行:
php artisan migrate:rollback
復原操作隻删除遷移表中的記錄和對應的資料表,其他操作不執行。
注意:删除(復原之後)會删除上一個批次的遷移記錄,并且同批次建立的資料表也會删除,但是遷移檔案依舊存在,友善後期繼續遷移(建立資料表)。 批次号:同一次被執行的多個遷移檔案其批次号相同。
在學習的php的路上,如果你覺得本文對你有所幫助的話,那就請關注點贊評論三連吧,謝謝,你的肯定是我寫博的另一個支援。