fix: DockerSecretsResolver - don't normalize absolute paths like /var/www/html/...
Some checks failed
Deploy Application / deploy (push) Has been cancelled

This commit is contained in:
2025-11-24 21:28:25 +01:00
parent 4eb7134853
commit 77abc65cd7
1327 changed files with 91915 additions and 9909 deletions

View File

@@ -0,0 +1,77 @@
<?php
declare(strict_types=1);
namespace App\Framework\Database\Seed;
use App\Framework\Console\ConsoleCommand;
use App\Framework\Console\ConsoleInput;
use App\Framework\Console\ExitCode;
final readonly class SeedCommand
{
public function __construct(
private SeedLoader $seedLoader,
private SeedRunner $seedRunner,
private SeedRepository $seedRepository
) {
}
#[ConsoleCommand('db:seed', 'Run database seeders')]
public function seed(ConsoleInput $input): ExitCode
{
$className = $input->getOption('class');
$fresh = $input->hasOption('fresh');
try {
// Clear seeds table if --fresh option is provided
if ($fresh) {
echo "⚠️ Clearing seeds table (--fresh option)...\n";
$this->seedRepository->clearAll();
echo "✅ Seeds table cleared.\n\n";
}
if ($className !== null) {
// Run specific seeder
echo "Running seeder: {$className}\n";
$seeder = $this->seedLoader->load($className);
if ($seeder === null) {
echo "❌ Seeder '{$className}' not found or cannot be instantiated.\n";
return ExitCode::SOFTWARE_ERROR;
}
$this->seedRunner->run($seeder);
echo "✅ Seeder '{$className}' completed.\n";
} else {
// Run all seeders
echo "Running all seeders...\n\n";
$seeders = $this->seedLoader->loadAll();
if (empty($seeders)) {
echo "No seeders found.\n";
return ExitCode::SUCCESS;
}
echo sprintf("Found %d seeder(s):\n", count($seeders));
foreach ($seeders as $seeder) {
echo " - {$seeder->getName()}: {$seeder->getDescription()}\n";
}
echo "\n";
$this->seedRunner->runAll($seeders);
echo "\n✅ All seeders completed.\n";
}
return ExitCode::SUCCESS;
} catch (\Throwable $e) {
echo "❌ Seeding failed: " . $e->getMessage() . "\n";
echo "Error details: " . get_class($e) . "\n";
echo "File: " . $e->getFile() . ":" . $e->getLine() . "\n";
echo "Stack trace:\n" . $e->getTraceAsString() . "\n";
return ExitCode::SOFTWARE_ERROR;
}
}
}