MigrateCommand::handle()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 20
rs 9.6
c 0
b 0
f 0
cc 3
nc 4
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Rinvex\Categories\Console\Commands;
6
7
use Illuminate\Console\Command;
8
9
class MigrateCommand extends Command
10
{
11
    /**
12
     * The name and signature of the console command.
13
     *
14
     * @var string
15
     */
16
    protected $signature = 'rinvex:migrate:categories {--f|force : Force the operation to run when in production.}';
17
18
    /**
19
     * The console command description.
20
     *
21
     * @var string
22
     */
23
    protected $description = 'Migrate Rinvex Categories Tables.';
24
25
    /**
26
     * Execute the console command.
27
     *
28
     * @return void
29
     */
30
    public function handle(): void
31
    {
32
        $this->alert($this->description);
33
34
        $path = config('rinvex.categories.autoload_migrations') ?
35
            'vendor/rinvex/laravel-categories/database/migrations' :
36
            'database/migrations/rinvex/laravel-categories';
37
38
        if (file_exists($path)) {
39
            $this->call('migrate', [
40
                '--step' => true,
41
                '--path' => $path,
42
                '--force' => $this->option('force'),
43
            ]);
44
        } else {
45
            $this->warn('No migrations found! Consider publish them first: <fg=green>php artisan rinvex:publish:categories</>');
46
        }
47
48
        $this->line('');
49
    }
50
}
51