CreateTrackerSessionsTable   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 1
dl 0
loc 48
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A migrateUp() 0 23 1
A migrateDown() 0 4 1
1
<?php
2
3
use PragmaRX\Tracker\Support\Migration;
4
5
class CreateTrackerSessionsTable extends Migration
6
{
7
    /**
8
     * Table related to this migration.
9
     *
10
     * @var string
11
     */
12
    private $table = 'tracker_sessions';
13
14
    /**
15
     * Run the migrations.
16
     *
17
     * @return void
18
     */
19
    public function migrateUp()
20
    {
21
        $this->builder->create(
22
            $this->table,
23
            function ($table) {
24
                $table->bigIncrements('id');
25
26
                $table->string('uuid')->unique()->index();
27
                $table->bigInteger('user_id')->unsigned()->nullable()->index();
28
                $table->bigInteger('device_id')->unsigned()->nullable()->index();
29
                $table->bigInteger('agent_id')->unsigned()->nullable()->index();
30
                $table->string('client_ip')->index();
31
                $table->bigInteger('referer_id')->unsigned()->nullable()->index();
32
                $table->bigInteger('cookie_id')->unsigned()->nullable()->index();
33
                $table->bigInteger('geoip_id')->unsigned()->nullable()->index();
34
                $table->boolean('is_robot');
35
36
                $table->timestamps();
37
                $table->index('created_at');
38
                $table->index('updated_at');
39
            }
40
        );
41
    }
42
43
    /**
44
     * Reverse the migrations.
45
     *
46
     * @return void
47
     */
48
    public function migrateDown()
49
    {
50
        $this->drop($this->table);
51
    }
52
}
53