Laravel Packages

Laravel Seeder Generator

Published
Laravel Seeder Generator image

Database seeding is the process of populating a database with initial data, which is important during development, testing, and the initial setup of an application. Typically, developers seed their databases with dummy data; however, there are times when real data from a production database is necessary. The Laravel Seeder Generator, created by Andre Haykal Rachman, is a package designed to assist in generating Laravel seeder files using real data from your database.

Installation

Install this package via Composer:

composer require --dev tyghaykal/laravel-seed-generator

After installation, you can generate a seeder using the following command:

php artisan seed:generate --model-mode --models=Your\Model

Note: If you need to specify multiple Models, separate them with a comma.

Several options are available for customizing the data included in your seeder file. For example, you can filter the data using a --where option:

php artisan seed:generate --model-mode --models=Your\Model --where=field,type,value

If you want to include specific records based on their id, you can use:

php artisan seed:generate --model-mode --models=Your\Model --ids="1,2,3"

Note: This option can only be used with a single model.

Other available options include --where-in, --where-not-in, --order-by, --fields, --relations, --without-relations, and more.

In addition to the --model-mode, you can also generate seeders based on tables by using the --table-mode option. For example:

php artisan seed:generate --table-mode --tables=your_table_name

To specify multiple tables, separate them with commas.

You can filter data for your seeder using options similar to those for Models.

Executing any of these commands will generate your seeder in the Laravel database/seeders directory. However, you can change the location of the generated seeder file by using the --output option.

To learn more about this package, view the source code on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
PayZephyr: One Payment API for Stripe, Paystack, and PayPal image

PayZephyr: One Payment API for Stripe, Paystack, and PayPal

Read article
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article
Queue totalSize() and JobInterrupted Event in Laravel 13.31 image

Queue totalSize() and JobInterrupted Event in Laravel 13.31

Read article
Find Unexpected Test Inputs with Fuzz for Pest image

Find Unexpected Test Inputs with Fuzz for Pest

Read article