会社のインターンで「Seeder」に遭遇した。
Seederとは何かまとめた。
Seederに遭遇した状況
会社のインターンに参加して初日に開発環境構築をしてた。
会社ではLaravelを使っている。
会社の仕様書があって、それ通りにパソコンの環境を揃えていた。
Docker内に環境を作っていたが、本番環境と同様のDBをmigrateで生成した。
そのあとに「Seederを実行するように」と言われた。
ここで初対面した。
Seederでできること
Seederを使うとDBにダミーデータを挿入することができる。
下からの説明を見れば分かる。
Seederに実行方法
以下のようにコマンドを実行するとUserTableSeeder.phpというファイルが生成される。
php artisan make:seeder UserTableSeeder
このファイル内のrunメソッドにDBのtableに挿入したい実際のデータを記述する。
例えば以下のようになる。
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class UserTableSeeder extends Seeder
{
public function run()
{
DB::table('users')->insert([
'name' => 'suna',
'email' => 'suna_sample@email.com',
'sex' => 'male'
]);
}
}
これのみだとSeederファイルを設定しただけなので、これを実際に作動させれるようにDatabaseSeeder.phpファイルで先ほどのUserTableSeeder.phpが呼び出されるように処理を書く。
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends DatabaseSeeder
{
public function run()
{
$this->call('UserTableSeeder::class');
}
}
これでプログラムは完了。
次のコマンドを実行することで、実際にSeederが作動してDBにデータが挿入される。
php artisan db:seed --class=UserTableSeeder

コメントを残す