<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; class CreateAtasCommand extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'app:generate-atas'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Execute the console command. */ public function handle() { $this->info('Migration started..'); $migrate = Artisan::call('migrate'); $this->info('Migrate successfully.'); $this->info('Truncate started..'); // Nonaktifkan constraint DB::statement('SET FOREIGN_KEY_CHECKS=0;'); $this->info('Foreign key check disabled.'); DB::statement('TRUNCATE table roles'); $this->info('Truncate roles successfully.'); DB::statement('TRUNCATE table model_has_roles'); $this->info('Truncate model_has_roles successfully.'); DB::statement('TRUNCATE table model_has_permissions'); $this->info('Truncate model_has_permissions successfully.'); DB::statement('TRUNCATE table permissions'); $this->info('Truncate permissions successfully.'); DB::statement('TRUNCATE table role_has_permissions'); $this->info('Truncate role_has_permissions successfully.'); // Aktifkan kembali constraint DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $this->info('Foreign key check enabled.'); $this->info('Truncate successfully.'); $this->info('Permission started..'); Artisan::call('route:clear'); $this->info('Route cache cleared successfully.'); Artisan::call('permission:cache-reset'); $this->info('Permission cache reset successfully.'); Artisan::call('permission:create-permission-routes'); $this->info('Permission successfully.'); $this->info('Seeder started..'); Artisan::call('db:seed', [ '--class' => 'GenerateAtasSeeder', '--force' => true ]); $this->info('Seeder successfully.'); } }