laravel 數據遷移 數據填充

3.1.1、生成與編寫遷移

php artisan make:migration create_test_table --create=test
create_test_table   生成的文件後綴名稱
--create=test        生成表名爲test的數據表

編寫遷移文件,創建字段和表

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateArtitleTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('article', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title',200)->default('')->comment('標題');
            $table->string('desn',500)->default('')->comment('描述');
            $table->unsignedInteger('uid')->default(0)->comment('用戶id');
            $table->text('cnt')->comment('文章內容');
            $table->timestamps();
        });

        /*Schema::create('cate', function (Blueprint $table) {
            $table->increments('id');
            $table->string('cname',200)->default('')->comment('標題');
            $table->timestamps();
        });*/
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        /**
         * 如果表存在就刪除
         */
        Schema::dropIfExists('article');
        // Schema::dropIfExists('cate');
    }
}

3.1.2、執行數據遷移

php artisan migrate
# 直接執行遷移文件中的up方法

3.1.3、回滾遷移

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

php artisan migrate:rollback
# 直接執行遷移文件中的 down方法

回滾條件,根據數據表中的

 

根據此值來找遷移文件,然後執行遷移文件中的down方法

3.1.4、清除表後再執行遷移

php artisan  migrate:refresh
# 先執行所有的遷移文件的down方法,再執行所有的遷移文件的up方法

3.1.5、小結

  • 創建

php artisan make:migration 文件名  --create=表名

  • 編寫遷移文件 [見文檔]
  • 執行

php artisan migrate

  • 回滾

php artisan migrate:rollback

  • 清除表並重新執行遷移

php artisan migrate:refresh

 

3.2、數據填充

填充操作就是往數據表中寫測試數據的操作。

3.2.1、創建和編寫種子文件

php artisan make:seeder TestTableSeeder{種子文件的名,文件名}

 

編寫種子文件代碼

3.2.2、執行種子文件

# 執行指定種子的文件

php artisan db:seed --class=需要執行的種子文件名

 

# 執行全部的種子文件

php artisan db:seed   必須在DatabaseSeeder文件中定義好 call

 

# 刪除表並執行遷移和種子文件

php artisan migrate:refresh --seed  必須在DatabaseSeeder文件中定義好 call

使用db:seed 執行不帶參數

在DatabaseSeeder文件中run中的call方法定義我們的寫的種子

這樣就可以執行如下的兩個命令

 

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