<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed order MUST follow the migration dependency graph:
* 1. Roles & Permissions (spatie) — no FK deps
* 2. Admin user — needs roles
* 3. Categories — no FK deps (self-referential safe with null parent)
* 4. (Phase 2) Brands, Vendors, Products, etc.
*/
public function run(): void
{
$this->call([
RolePermissionSeeder::class,
AdminUserSeeder::class,
CategorySeeder::class,
TherapeuticCategorySeeder::class,
CouponSeeder::class,
HomepageSettingsSeeder::class,
MenuSeeder::class,
]);
$this->command->info('');
$this->command->info('🚀 STP Ecommerce database seeded successfully.');
$this->command->info(' Admin panel: /admin');
$this->command->info(' Login: admin@stpecommerce.com / Admin@1234!');
}
}