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
35 lines
881 B
PHP
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(),
|
|
];
|
|
}
|
|
}
|
|
}
|