fix: inline PHP seeder to bypass composer autoload, roles now seeded correctly
This commit is contained in:
23
install.sh
23
install.sh
@@ -225,12 +225,23 @@ success "Migrations complete."
|
||||
|
||||
# ── Seed Default Roles ────────────────────────────────────────────────────────
|
||||
step "Seeding default roles..."
|
||||
# Run composer dump-autoload so Laravel can resolve the seeder class
|
||||
$PHP_BIN /usr/local/bin/composer dump-autoload --no-interaction -q 2>/dev/null \
|
||||
|| $PHP_BIN "$(which composer 2>/dev/null || echo composer)" dump-autoload -q 2>/dev/null \
|
||||
|| true
|
||||
$PHP_BIN artisan db:seed --class="Database\\Seeders\\DefaultRolesSeeder" --force \
|
||||
|| warn "Seeder failed or already run — skipping."
|
||||
# Use direct PHP require so we bypass composer autoload limitations
|
||||
cd "$PANEL_DIR"
|
||||
$PHP_BIN - <<'SEED_EOF' 2>&1 || warn "Seeder failed or already run — skipping."
|
||||
<?php
|
||||
define('LARAVEL_START', microtime(true));
|
||||
require __DIR__ . '/vendor/autoload.php';
|
||||
$app = require_once __DIR__ . '/bootstrap/app.php';
|
||||
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
|
||||
$kernel->bootstrap();
|
||||
|
||||
// Include and run the seeder directly
|
||||
require_once __DIR__ . '/database/seeders/DefaultRolesSeeder.php';
|
||||
$seeder = new Database\Seeders\DefaultRolesSeeder();
|
||||
$seeder->setContainer($app)->setCommand(new class { public function info($m) { echo " $m\n"; } });
|
||||
$seeder->run();
|
||||
echo "Roles seeded successfully.\n";
|
||||
SEED_EOF
|
||||
success "Seeding complete."
|
||||
|
||||
# ── Publish Config ────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user