Generating Database Seeders

Blueprint also supports defining a seeders section within a draft file to generate database seeders for a given model.

The syntax for this section is simply seeders: value, where value is a comma separated list of model references.

For example:

models:
  Post:
    title: string:400
    content: longtext
    published_at: nullable timestamp

  Comment:
    post_id: id
    content: longtext
    user_id: id

  User:
    name: string

seeders: Post, Comment

From this definition, Blueprint will create two seeders: PostSeeder and CommentSeeder, respectively.

Notice Blueprint does not create a UserSeeder in this instance since it was not included in the list of model references.

The code within the generated seeder uses the model factories to seed the database with 5 records.

For example, within the PostSeeder, Blueprint would generate the following code:

public function run(): void
{
    factory(\App\Post::class, 5)->create();
}