Database Seeders
Run individual or default database seeders from the admin UI.
Overview
Database Seeders shows each registered seeder’s status and lets admins queue runs (and re-runs) from the UI.
Where it lives
Route: /admin/settings/seeders (admin.settings.seeders)
Open Admin → System → Database Seeders. Requires admin access.
What the panel lists
The cards come from SeederPanelCatalog::withStatus(), the single source of truth shared with DatabaseSeeder:
- Boot-start seeders (
isDefault) — the ordered setphp artisan db:seedruns, countries through sample catalogue_items. See Seeders for what each one creates. - DemoDataSeeder — listed but not part of the default run; it is the curated end-user demo dataset.
- VolumeTestSeeder — only appears when
SIGNALS_VOLUME_SEEDER=true, and is a load-testing tool rather than a demo.
Each card shows the seeder's description, the items it creates, and a live Seeded / Not Seeded status derived from the database rather than a run log — so a seeder run outside the panel still reads as seeded.
Key workflows
- Run Default Seeders runs
DatabaseSeeder(every boot-start seeder plus the development owner account). It is highlighted when the permissions or roles seeders report Not Seeded — the minimum for a usable RBAC boot. - Individual Run/Re-run dispatches
RunSeederJobon theimportsqueue, with step-by-step progress polled from the cache. - The panel surfaces its own failure modes: it warns when a run sits queued with no worker on the
importsqueue, abandons it after a timeout, and reports a run whose progress entry disappears. - Seeder class list is locked — clients cannot inject arbitrary classes.
Related
- Getting Started: Seeders