端くれプログラマの備忘録 Laravel [Laravel] Seedingの基本手順

[Laravel] Seedingの基本手順

1. Seederを作成する。

$ php artisan make:seeder PostTableSeeder

/database/seeds/PostTableSeeder.phpが作成される。

2. Seederを実装する。

class PostTableSeeder extends Seeder
{
    public function run() {
        DB::table('posts')->insert([
            'title' => str_random(10),
            'body' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit',
        ]);
    }
}

3. 作成したSeederをDatabaseSeederから呼ぶ。

class DatabaseSeeder extends Seeder
{
    public function run() {
        Model::unguard();

        $this->call(PostTableSeeder::class);
        $this->command->info('Post table seeded');

        Model::reguard();
    }
}

実行

DatabaseSeederを実行するには

php artisan db:seed

Seederを指定して実行するには

php artisan db:seed --class=PostTableSeeder

マイグレーションと同時実行するには

php artisan migrate:refresh --seed

参考サイト

Database: Seeding – Laravel – The PHP Framework For Web Artisans
https://laravel.com/docs/5.2/seeding