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 →
Look What You Helped Me Build image

Look What You Helped Me Build

Read article
BashBox: A Sandboxed Bash Interpreter for AI Agents in PHP image

BashBox: A Sandboxed Bash Interpreter for AI Agents in PHP

Read article
Running Laravel's Scheduler on Multiple Servers image

Running Laravel's Scheduler on Multiple Servers

Read article
Laravel Fake Assertions Now Accept Property Arrays image

Laravel Fake Assertions Now Accept Property Arrays

Read article
Route::query() and Model defaults() in Laravel 13.35 image

Route::query() and Model defaults() in Laravel 13.35

Read article
Laravel AI SDK 1.1 Adds Agent Skills and Cohere Chat image

Laravel AI SDK 1.1 Adds Agent Skills and Cohere Chat

Read article