😏

【Laravel】Seederを使ってテストデータを作ろう!

2024/08/22に公開

はじめに

Laravelでは、コマンドひとつでテストデータをデータベースに登録することができます!
ではやっていきましょう!

Seederファイルの作成

まずこちらのコマンドを実行します。

php artisan make:seeder ファイル名

すると、以下のようなファイルが作成されます。
こちらがSeederファイルになります。自分はファイル名をtaskListとしました。

<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class taskList extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        //
    }
}

Seederファイルへ入力

ではSeederファイルにテストデータの情報を入力していきます!
ちなみにテーブルはこのようになっています。

<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
// 追加↓
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
// 追加↑

class taskList extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        // 追加↓
        DB::table('T_TASKLIST')->insert([
            'TASK_ID' => 'TASK001',
            'USER_ID' => 'USER001',
            'PROJECT_ID' => 'PROJ001',
            'TASK_NM' => '買い物リスト作成',
            'UPDATE_DATE' => Carbon::now(),
            'CREATE_DATE' => Carbon::now(),
        ]);

        DB::table('T_TASKLIST')->insert([
            'TASK_ID' => 'TASK002',
            'USER_ID' => 'USER002',
            'PROJECT_ID' => 'PROJ001',
            'TASK_NM' => '部屋の掃除',
            'UPDATE_DATE' => Carbon::now(),
            'CREATE_DATE' => Carbon::now(),
        ]);

        DB::table('T_TASKLIST')->insert([
            'TASK_ID' => 'TASK003',
            'USER_ID' => 'USER002',
            'PROJECT_ID' => 'PROJ003',
            'TASK_NM' => '犬の散歩',
            'UPDATE_DATE' => Carbon::now(),
            'CREATE_DATE' => Carbon::now(),
        ]);
        // 追加↑
    }
}

コマンドの実行

こちらのコマンドを実行してみると・・・・

php artisan db:seed --class=taskList

登録されました🙌

ちなみに

削除したい場合はこちらになります~

DB::table('T_TASKLIST')->truncate();

以上です!

Discussion