0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LaravelでSeederを作成する手順

Posted at

はじめに

以下はLaravelと連携しているデータベースにダミーデータを追加するためのSeederを作成する工程のメモになります

Seederファイルを作成するコマンド

以下のコマンドでitemsテーブル用のSeederファイルを作成できます

php artisan make:seeder ItemTableSeeder

Seederファイル名の名称ルール

一般的にテーブル名はスネークケースかつ、複数形に統一されますが
Seederファイルのテーブル名は、キャメルケースかつ、単数系にすることが一般的です

※ファイル名は処理の内容に影響しません

  • items または  create_items
  • Item または CreateItem

作成したSeederファイルの編集

database/seeders フォルダ内にSeederファイルが生成されるので以下のようにテーブルを指定し、カラムに対して値を設定します

ItemTableSeeder.php


自動入力されるカラムについて(補足)

  • id カラム
    データ挿入時に値を指定しなくても、自動的にインクリメントされる数値が割り当てられます

  • created_at および updated_at カラム
    Laravelが自動的に現在の日時を設定します

DatabaseSeederでシーダーを登録する

DatabaseSeederクラス はデータベースにSeederのデータを登録するための開始点となるクラスです。

クラスのrunメソッドに作成したSeederクラスを登録しなければ次のコマンドを実行してもシードデータは投入されません

DatabaseSeeder.php
<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        // 他の Seeder クラスを登録
        $this->call(ItemTableSeeder::class);
    }
}

Seederを一括で適用する

DatabaseSeederクラスに登録したSeederを適用してデータベースにデータを挿入するためには、以下のコマンドを実行します

php artisan db:seed

※コマンド実行時にエラーが発生する場合はDBが起動しているか確認して下さい

特定のSeederクラスを実行する場合

特定のSeederクラスだけを実行したい場合は、以下のコマンドを使用します

php artisan db:seed --class=SeederClassName

※SeederClassName ←ここをクラス名に書き換えます

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?