AdmineticWebsiteMigrateCommand   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 15
c 1
b 0
f 0
dl 0
loc 47
rs 10
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A handle() 0 16 3
1
<?php
2
3
namespace Adminetic\Website\Console\Commands;
4
5
use Illuminate\Console\Command;
6
7
class AdmineticWebsiteMigrateCommand extends Command
8
{
9
    /**
10
     * The name and signature of the console command.
11
     *
12
     * @var string
13
     */
14
    protected $signature = 'migrate:adminetic-website  {--f|force : Force the operation to run when in production.}';
15
16
    /**
17
     * The console command description.
18
     *
19
     * @var string
20
     */
21
    protected $description = 'Command to migrate adminetic website module tables.';
22
23
    /**
24
     * Create a new command instance.
25
     *
26
     * @return void
27
     */
28
    public function __construct()
29
    {
30
        parent::__construct();
31
    }
32
33
    /**
34
     * Execute the console command.
35
     *
36
     * @return int
37
     */
38
    public function handle()
39
    {
40
        if (config('website.publish_migrations', true)) {
41
            $path = config('website.migration_publish_path', 'database/migrations/website');
42
43
            if (file_exists($path)) {
44
                $this->call('migrate', [
45
                    '--step' => true,
46
                    '--path' => $path,
47
                    '--force' => $this->option('force'),
48
                ]);
49
            } else {
50
                $this->warn('No migrations found! Consider publish them first: <fg=green>php artisan vendor:publish --tag=website-migrations</>');
51
            }
52
        } else {
53
            $this->info('Please turn on publish_migrations option in config/website');
54
        }
55
    }
56
}
57