Laravelで開発していて、SeederとFactoryの使い方でこんがらがったので、整理しました👍
用意するもの
以下は新しく作成するときに必要なファイルです。
- modelファイル
- migrationファイル
- Seederファイル
- Factoryファイル
簡単に用意する方法
上記4枚のファイルをartisanを使って簡単に作成する方法があります。
php artisan make:model Sample -msf
artisanでmodelを作成します。
「-」でオプションを付与できるのでmigrationのm、Seederのs、Factoryのfを付与します。
書く内容
それぞれのファイルに書く内容は以下です。
modelファイル
$fillableを作成した方がいいです👍
migrationファイル
テーブルの定義を書く。
Seederファイル
実行するFactoryファイルを追加する。
Factoryファイル
実際に作成したいテストのデータを書く。
fakerを使用するのが一般的と思われる。
DatabaseSeederファイル
上記の内容に加えて、Seederを司る大元のファイルであるDatabaseSeederに今回で作成したSeederファイルを登録しましょう。
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call([
SampleSeeder::class
]);
}
}
実行方法
migrationファイルでデータを格納する受け皿を用意しました。
Modelを作成して、生成するデータの雛形を作成しました。
Factoryファイルで雛形を具体的に書きました。
Seederファイルでその雛形を実際に作成します。
以下のコマンドを実行してください。
php artisan migrate:refresh --seed

コメントを残す