laravel-seeder-organization
Installation
SKILL.md
Overview
Seeders in this repo should respect an environment split: shared seeders that apply everywhere and local-only helpers that run when app()->environment('local') is true. DatabaseSeeder already models that flow, so a skill can walk through adding new seeders following the same guardrails.
Directory Layout
database/seeders/– entry pointDatabaseSeeder.phpplus environment-neutral seeders.database/seeders/Dummy/– local-only helpers (e.g.,LocalUserSeeder,HistoricalInvoiceSeeder) that require development data.
Implementation Steps
- Seed shared data: write a seeder in
database/seedersand register it inDatabaseSeeder::run. UsefirstOrCreate,updateOrCreate, orupsertso repeated runs reconcile data without duplication. - Keep local helpers separate: place dev-only seeders in a
Dummysubnamespace (or equivalent) and invoke them insideif (app()->environment('local'))so they never hit staging/production. - Structure DatabaseSeeder clearly: call shared seeders in one block, then wrap the local-only calls in the environment guard, avoiding duplicate registrations (e.g., do not list the same seeder twice).
Examples
DatabaseSeeder layout
namespace Database\Seeders;
use Illuminate\Database\Seeder;