Passed
Push — master ( 522ba7...dac3f8 )
by Andrey
13:44
created

CreateRolesAndPermissionsTables::dropTables()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 2
nc 2
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
use Helldar\Roles\Support\Database\BaseMigration;
4
use Illuminate\Database\Schema\Blueprint;
5
6
class CreateRolesAndPermissionsTables extends BaseMigration
7
{
8
    public function up()
9
    {
10
        $this->createTable($this->roles);
11
        $this->createTable($this->permissions);
12
13
        $this->createPivot($this->user_roles, $this->users, $this->roles, 'user_id', 'role_id');
14
        $this->createPivot($this->role_permissions, $this->roles, $this->permissions, 'role_id', 'permission_id');
15
    }
16
17
    public function down()
18
    {
19
        $this->schema()->disableForeignKeyConstraints();
20
21
        $this->dropTables($this->role_permissions, $this->user_roles, $this->permissions, $this->roles);
22
23
        $this->schema()->enableForeignKeyConstraints();
24
    }
25
26
    protected function createTable(string $table)
27
    {
28
        $this->create($table, function (Blueprint $table) {
29
            $table->bigIncrements('id');
30
            $table->string('name')->unique();
31
            $table->timestamps();
32
        });
33
    }
34
}
35