Completed
Push — master ( 3a53f1...4212b8 )
by Renato
08:23
created

AddForeignKeysToIssuesTable::up()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 39
Code Lines 30

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 39
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 30
nc 1
nop 0
1
<?php
2
3
use Illuminate\Support\Facades\Schema;
4
use Illuminate\Database\Schema\Blueprint;
5
use Illuminate\Database\Migrations\Migration;
6
7
class AddForeignKeysToIssuesTable extends Migration
8
{
9
    /**
10
     * Run the migrations.
11
     *
12
     * @return void
13
     */
14
    public function up()
15
    {
16
        Schema::table('issues', function (Blueprint $table) {
17
            $table->index('user_id','fk_issues_user_id_idx');
18
            $table->foreign('user_id', 'fk_issues_user_id')
19
                ->references('id')->on('users')
20
                ->onUpdate('NO ACTION')->onDelete('NO ACTION');
21
22
            $table->index('issue_type_id','fk_issues_issue_type_id_idx');
23
            $table->foreign('issue_type_id', 'fk_issues_issue_type_id')
24
                ->references('id')->on('issue_types')
25
                ->onUpdate('NO ACTION')->onDelete('NO ACTION');
26
27
            $table->index('product_backlog_id','fk_issues_product_backlog_id_idx');
28
            $table->foreign('product_backlog_id', 'fk_issues_product_backlog_id')
29
                ->references('id')->on('product_backlogs')
30
                ->onUpdate('NO ACTION')->onDelete('NO ACTION');
31
32
            $table->index('sprint_id','fk_issues_sprint_id_idx');
33
            $table->foreign('sprint_id', 'fk_issues_sprint_id')
34
                ->references('id')->on('sprints')
35
                ->onUpdate('NO ACTION')->onDelete('NO ACTION');
36
37
            $table->index('user_story_id','fk_issues_user_story_id_idx');
38
            $table->foreign('user_story_id', 'fk_issues_user_story_id')
39
                ->references('id')->on('user_stories')
40
                ->onUpdate('NO ACTION')->onDelete('NO ACTION');
41
42
            $table->index('config_status_id','fk_issues_config_status_id_idx');
43
            $table->foreign('config_status_id', 'fk_issues_config_status_id')
44
                ->references('id')->on('config_statuses')
45
                ->onUpdate('NO ACTION')->onDelete('NO ACTION');
46
47
            $table->index('config_issue_effort_id','fk_issues_config_issue_effort_id_idx');
48
            $table->foreign('config_issue_effort_id', 'fk_issues_config_issue_effort_id')
49
                ->references('id')->on('config_issue_efforts')
50
                ->onUpdate('NO ACTION')->onDelete('NO ACTION');
51
        });
52
    }
53
54
    /**
55
     * Reverse the migrations.
56
     *
57
     * @return void
58
     */
59
    public function down()
60
    {
61
        Schema::table('issues', function (Blueprint $table) {
62
            $table->dropIndex('fk_issues_user_id_idx');
63
            $table->dropIndex('fk_issues_issue_type_id_idx');
64
            $table->dropIndex('fk_issues_product_backlog_id_idx');
65
            $table->dropIndex('fk_issues_sprint_id_idx');
66
            $table->dropIndex('fk_issues_user_story_id_idx');
67
            $table->dropIndex('fk_issues_config_status_id_idx');
68
            $table->dropIndex('fk_issues_config_issue_effort_id_idx');
69
            $table->dropForeign('fk_issues_user_id');
70
            $table->dropForeign('fk_issues_issue_type_id');
71
            $table->dropForeign('fk_issues_product_backlog_id');
72
            $table->dropForeign('fk_issues_sprint_id');
73
            $table->dropForeign('fk_issues_user_story_id');
74
            $table->dropForeign('fk_issues_config_status_id');
75
            $table->dropForeign('fk_issues_config_issue_effort_id');
76
77
        });
78
    }
79
}
80