schneespur/app/Services/Installer/MigrationRunner.php
Michael ee3dbba6cc Initial release v1.0.0
Schneespur — Open-source winter service documentation software (PWA + Admin).
GPS tracking via OwnTracks, weather data, photo evidence, and legally
compliant service records for winter maintenance operators.

License: AGPL-3.0-or-later
2026-05-17 13:33:51 +00:00

35 lines
881 B
PHP

<?php
namespace App\Services\Installer;
use Illuminate\Database\QueryException;
use Illuminate\Support\Facades\Artisan;
class MigrationRunner
{
public function run(): array
{
try {
$exitCode = Artisan::call('migrate', ['--force' => true]);
$output = Artisan::output();
return [
'success' => $exitCode === 0,
'output' => $output,
'error' => $exitCode !== 0 ? $output : null,
];
} catch (QueryException $e) {
return [
'success' => false,
'output' => '',
'error' => $e->getMessage(),
];
} catch (\Exception $e) {
return [
'success' => false,
'output' => '',
'error' => $e->getMessage(),
];
}
}
}