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 →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article