Completed
Push — master ( e7f8de...7e52b4 )
by Dmitry
03:22
created

Bootstrap   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 42
ccs 30
cts 30
cp 1
rs 10
c 1
b 0
f 1

1 Method

Rating   Name   Duplication   Size   Complexity  
B migrate() 0 39 2
1
<?php
2
3
namespace Tarantool\Mapper\Migrations;
4
5
use Tarantool\Mapper\Contracts;
6
7
class Bootstrap implements Contracts\Migration
8
{
9 64
    public function migrate(Contracts\Manager $manager)
10
    {
11 64
        $client = $manager->getClient();
0 ignored issues
show
Unused Code introduced by
$client is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
12 64
        if ($manager->getSchema()->hasSpace('sequence')) {
13 1
            return true;
14
        }
15
16 64
        $schema = $manager->getSchema();
17 64
        $number = $schema->getNumberType();
18
19 64
        $schema->createSpace('sequence');
20 64
        $schema->createIndex('sequence', 'id', ['parts' => [1, $number]]);
21 64
        $schema->createIndex('sequence', 'space', ['parts' => [2, $number]]);
22
23 64
        $schema->createSpace('property');
24 64
        $schema->createIndex('property', 'id', ['parts' => [1, $number]]);
25 64
        $schema->createIndex('property', 'space', ['parts' => [2, $number], 'unique' => false]);
26 64
        $schema->createIndex('property', 'index_space', ['parts' => [3, $number, 2, $number]]);
27 64
        $schema->createIndex('property', 'type', ['parts' => [5, 'STR'], 'unique' => false]);
28
29 64
        $client = $manager->getClient();
30
31 64
        $sequenceSpaceId = $schema->getSpaceId('sequence');
32 64
        $propertySpaceId = $schema->getSpaceId('property');
33
34 64
        $property = $client->getSpace('property');
35 64
        $property->insert([1, $sequenceSpaceId, 0, 'id', 'integer']);
36 64
        $property->insert([2, $sequenceSpaceId, 1, 'space', 'integer']);
37 64
        $property->insert([3, $sequenceSpaceId, 2, 'value', 'integer']);
38 64
        $property->insert([4, $propertySpaceId, 0, 'id', 'integer']);
39 64
        $property->insert([5, $propertySpaceId, 1, 'space', 'integer']);
40 64
        $property->insert([6, $propertySpaceId, 2, 'index', 'integer']);
41 64
        $property->insert([7, $propertySpaceId, 3, 'name', 'string']);
42 64
        $property->insert([8, $propertySpaceId, 4, 'type', 'string']);
43
44 64
        $sequence = $client->getSpace('sequence');
45 64
        $sequence->insert([1, $sequenceSpaceId, 2]);
46 64
        $sequence->insert([2, $propertySpaceId, 8]);
47 64
    }
48
}
49