1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 21:22:58 +01:00
invoiceninja/app/Console/Commands/ArtisanUpgrade.php

84 lines
2.0 KiB
PHP
Raw Normal View History

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
use Composer\Console\Application;
use Symfony\Component\Console\Input\ArrayInput;
class ArtisanUpgrade extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'ninja:post-update';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Run basic upgrade commands';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
set_time_limit(0);
try {
Artisan::call('migrate');
} catch (Exception $e) {
\Log::error("I wasn't able to migrate the data.");
}
try {
Artisan::call('optimize');
} catch (Exception $e) {
\Log::error("I wasn't able to optimize.");
}
// try {
// Artisan::call('queue:restart');
// } catch (Exception $e) {
// \Log::error("I wasn't able to restart the queue");
// }
try {
/* Restart Horizon */
//Artisan::call('horizon:terminate');
exec('cd '.base_path().' && /usr/bin/php artisan horizon:terminate');
exec('cd '.base_path().' && /usr/bin/php artisan horizon &');
//Artisan::call('horizon');
} catch (Exception $e) {
\Log::error("I wasn't able to start horizon");
}
putenv('COMPOSER_HOME=' . __DIR__ . '/vendor/bin/composer');
$input = new ArrayInput(array('command' => 'install'));
$application = new Application();
$application->setAutoExit(true); // prevent `$application->run` method from exitting the script
$application->run($input);
}
}