. */ namespace FireflyIII\Console\Commands\Upgrade; use Artisan; use Illuminate\Console\Command; /** * Class UpgradeDatabase */ class UpgradeDatabase extends Command { /** * The console command description. * * @var string */ protected $description = 'Upgrades the database to the latest version.'; /** * The name and signature of the console command. * * @var string */ protected $signature = 'firefly-iii:upgrade-database {--F|force : Force all upgrades.}'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { $commands = [ 'firefly-iii:transaction-identifiers', 'firefly-iii:account-currencies', 'firefly-iii:journal-currencies', 'firefly-iii:migrate-notes', 'firefly-iii:migrate-attachments', 'firefly-iii:bills-to-rules', 'firefly-iii:bl-currency', 'firefly-iii:cc-liabilities', 'firefly-iii:migrate-to-groups', 'firefly-iii:back-to-journals', ]; $args = []; if ($this->option('force')) { $args = ['--force' => true]; } foreach ($commands as $command) { $this->line(sprintf('Now executing %s', $command)); Artisan::call($command, $args); $result = Artisan::output(); echo $result; } } }