akaunting/app/Console/Commands/InstallRefresh.php
2020-06-17 16:07:47 +03:00

59 lines
1.5 KiB
PHP

<?php
namespace App\Console\Commands;
use App\Models\Auth\User;
use App\Models\Common\Company;
use Illuminate\Console\Command;
class InstallRefresh extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'install:refresh {--admin-password=123456}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Allows to refresh Akaunting installation directly through CLI';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$user = User::first();
$company = Company::first();
$this->info('Resetting migrations');
$this->callSilent('migrate:reset', [
'--force' => true,
]);
$this->info('Installing Akaunting');
$this->callSilent('install', [
'--db-host' => env('DB_HOST'),
'--db-port' => env('DB_PORT'),
'--db-name' => env('DB_DATABASE'),
'--db-username' => env('DB_USERNAME'),
'--db-password' => env('DB_PASSWORD'),
'--db-prefix' => env('DB_PREFIX'),
'--company-name' => $company->name,
'--company-email' => $company->email,
'--admin-email' => $user->email,
'--admin-password' => $this->option('admin-password'),
'--locale' => $company->locale,
'--no-interaction' => true,
]);
$this->info('Installation refreshed');
}
}