Laravel Packages

Laravel SmartSeeder

Published

SmartSeeder is a new Laravel package by Jordan Lapp, that is designed to handle database seeding the same way you handle migrations.

Seeding as it is currently done in Laravel is intended only for dev builds, but what if you want to seed a production database with different data from what you use in development? What if you want to seed a table you’ve added to a database that is currently in production with new data?

The package isn’t just for seeding production databases. You can seed debug databases in batches, just like migrations. Compared to the default Laravel seeding, where all seeds have to be run at the same.

The features of the package include:

  • Allows you to seed databases in different environments with different values.
  • Allows you to “version” seeds the same way that Laravel currently handles migrations. Running php artisan seed will only run seeds that haven’t already been run.
  • Prompts you if your database is in production.
  • Allows you to run multiple seeds of the same model/table
  • Overrides Laravel’s seeding commands. SmartSeeder will fire when you run php artisan db:seed or php artisan migrate:refresh --seed

I can see a few good use cases for this system and it would come in handy on an app I’m currently building. I already know that one table is going to need additional seed data added a year or so down the road.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

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 →
Slow Job Alerts and Replica Commit IDs in Laravel 13.40 image

Slow Job Alerts and Replica Commit IDs in Laravel 13.40

Read article
Flock: A Free, Native Herd Alternative for Laravel image

Flock: A Free, Native Herd Alternative for Laravel

Read article
Live Props for Real-Time Updates in Inertia.js v3.11 image

Live Props for Real-Time Updates in Inertia.js v3.11

Read article
Cooldown Dependency Policy now in Composer 2.11 image

Cooldown Dependency Policy now in Composer 2.11

Read article
Email Sending and Testing for Laravel in One Account image

Email Sending and Testing for Laravel in One Account

Read article
Decide with Jev: Tie Every AI Check to the Exact Draft image

Decide with Jev: Tie Every AI Check to the Exact Draft

Read article