74 lines
2.3 KiB
PHP
74 lines
2.3 KiB
PHP
<?php
|
|
|
|
use App\Model\helpdesk\Settings\System;
|
|
use Illuminate\Foundation\Inspiring;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Console Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This file is where you may define all of your Closure based console
|
|
| commands. Each Closure is bound to a command instance allowing a
|
|
| simple approach to interacting with each command's IO methods.
|
|
|
|
|
*/
|
|
Artisan::command('inspire', function () {
|
|
$this->comment(Inspiring::quote());
|
|
})->purpose('Display an inspiring quote');
|
|
|
|
Artisan::command('mac-update', function () {
|
|
$emails = new App\Model\helpdesk\Email\Emails();
|
|
$emails->update(['password' => encrypt('')]);
|
|
})->purpose('Updating encrypted value to null');
|
|
|
|
/*
|
|
* Command for pre install check
|
|
*/
|
|
Artisan::command('preinsatall:check', function () {
|
|
try {
|
|
$check_for_pre_installation = System::select('id')->first();
|
|
if ($check_for_pre_installation) {
|
|
throw new \Exception('The data in database already exist. Please provide fresh database', 100);
|
|
}
|
|
} catch (\Exception $ex) {
|
|
if ($ex->getCode() == 100) {
|
|
$this->call('droptables');
|
|
}
|
|
//throw new \Exception($ex->getMessage());
|
|
}
|
|
$this->info('Preinstall has checked successfully');
|
|
})->purpose('check for the pre installation');
|
|
|
|
/*
|
|
* Migration for installation
|
|
*/
|
|
Artisan::command('install:migrate', function () {
|
|
try {
|
|
$tableNames = \Schema::getConnection()->getDoctrineSchemaManager()->listTableNames();
|
|
|
|
if (count($tableNames) == 0) {
|
|
$this->call('migrate', ['--force' => true]);
|
|
}
|
|
} catch (Exception $ex) {
|
|
throw new \Exception($ex->getMessage());
|
|
}
|
|
$this->info('Migrated successfully');
|
|
})->purpose('migration for install');
|
|
|
|
/*
|
|
* Seeding for installation
|
|
*/
|
|
Artisan::command('install:seed', function () {
|
|
\Schema::disableForeignKeyConstraints();
|
|
$tableNames = \Schema::getConnection()->getDoctrineSchemaManager()->listTableNames();
|
|
foreach ($tableNames as $name) {
|
|
if ($name == 'migrations') {
|
|
continue;
|
|
}
|
|
\DB::table($name)->truncate();
|
|
}
|
|
(new \App\Http\Controllers\Update\SyncFaveoToLatestVersion())->sync();
|
|
$this->info('seeded successfully');
|
|
})->purpose('Seeding for install');
|