SIGNALS Documentation
API Reference

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 set php artisan db:seed runs, 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 RunSeederJob on the imports queue, 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 imports queue, abandons it after a timeout, and reports a run whose progress entry disappears.
  • Seeder class list is locked — clients cannot inject arbitrary classes.