Completed
Push — 1.10.x ( 2635b5...f0080b )
by Yannick
165:55 queued 120:08
created

Version20150423093100::up()   F

Complexity

Conditions 14
Paths 8192

Size

Total Lines 151
Code Lines 123

Duplication

Lines 62
Ratio 41.06 %

Importance

Changes 0
Metric Value
cc 14
eloc 123
nc 8192
nop 1
dl 62
loc 151
rs 2
c 0
b 0
f 0

How to fix   Long Method    Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
/* For licensing terms, see /license.txt */
3
4
namespace Application\Migrations\Schema\V110;
5
6
use Application\Migrations\AbstractMigrationChamilo;
7
use Doctrine\DBAL\Schema\Schema;
8
use Doctrine\DBAL\Types\Type;
9
10
/**
11
 * Class Version20150423093100
12
 *
13
 * @package Application\Migrations\Schema\V110
14
 */
15
class Version20150423093100 extends AbstractMigrationChamilo
16
{
17
    /**
18
     * @param Schema $schema
19
     *
20
     * @throws \Doctrine\DBAL\Schema\SchemaException
21
     */
22
    public function up(Schema $schema)
23
    {
24
        // Sequence changes
25
        if (!$schema->hasTable('sequence_rule')) {
26
            $sequenceRule = $schema->createTable('sequence_rule');
27
            $sequenceRule->addColumn('id', Type::INTEGER)->setAutoincrement(true);
28
            $sequenceRule->addColumn('text', Type::TEXT);
29
            $sequenceRule->setPrimaryKey(['id']);
30
        }
31
32
        if (!$schema->hasTable('sequence_condition')) {
33
            $sequenceCondition = $schema->createTable('sequence_condition');
34
            $sequenceCondition->addColumn('id', Type::INTEGER)->setAutoincrement(true);
35
            $sequenceCondition->addColumn('description', Type::TEXT);
36
            $sequenceCondition->addColumn('mat_op', Type::INTEGER);
37
            $sequenceCondition->addColumn('param', Type::FLOAT);
38
            $sequenceCondition->addColumn('act_true', Type::INTEGER);
39
            $sequenceCondition->addColumn('act_false', Type::INTEGER);
40
            $sequenceCondition->setPrimaryKey(['id']);
41
        }
42
43
        if (!$schema->hasTable('sequence_rule_condition')) {
44
            $sequenceRuleCondition = $schema->createTable('sequence_rule_condition');
45
            $sequenceRuleCondition->addColumn('id', Type::INTEGER)->setAutoincrement(true);
46
            $sequenceRuleCondition->addColumn('sequence_rule_id', Type::INTEGER)->setNotnull(false);
47
            $sequenceRuleCondition->addColumn('sequence_condition_id', Type::INTEGER)->setNotnull(false);
48
            $sequenceRuleCondition->setPrimaryKey(['id']);
49
            $sequenceRuleCondition->addIndex(['sequence_rule_id']);
50
            $sequenceRuleCondition->addIndex(['sequence_condition_id']);
51
            $sequenceRuleCondition->addForeignKeyConstraint('sequence_condition', ['sequence_condition_id'], ['id']);
52
            $sequenceRuleCondition->addForeignKeyConstraint('sequence_rule', ['sequence_rule_id'], ['id']);
53
        }
54
55
        if (!$schema->hasTable('sequence_method')) {
56
            $sequenceMethod = $schema->createTable('sequence_method');
57
            $sequenceMethod->addColumn('id', Type::INTEGER)->setAutoincrement(true);
58
            $sequenceMethod->addColumn('description', Type::TEXT);
59
            $sequenceMethod->addColumn('formula', Type::TEXT);
60
            $sequenceMethod->addColumn('assign', Type::INTEGER);
61
            $sequenceMethod->addColumn('met_type', Type::INTEGER);
62
            $sequenceMethod->addColumn('act_false', Type::INTEGER);
63
            $sequenceMethod->setPrimaryKey(['id']);
64
        }
65
66
        if (!$schema->hasTable('sequence_rule_method')) {
67
            $sequenceRuleMethod = $schema->createTable('sequence_rule_method');
68
            $sequenceRuleMethod->addColumn('id', Type::INTEGER)->setAutoincrement(true);
69
            $sequenceRuleMethod->addColumn('sequence_rule_id', Type::INTEGER)->setNotnull(false);
70
            $sequenceRuleMethod->addColumn('sequence_method_id', Type::INTEGER)->setNotnull(false);
71
            $sequenceRuleMethod->addColumn('method_order', Type::INTEGER);
72
            $sequenceRuleMethod->setPrimaryKey(['id']);
73
            $sequenceRuleMethod->addIndex(['sequence_rule_id']);
74
            $sequenceRuleMethod->addIndex(['sequence_method_id']);
75
            $sequenceRuleMethod->addForeignKeyConstraint('sequence_method', ['sequence_method_id'], ['id']);
76
            $sequenceRuleMethod->addForeignKeyConstraint('sequence_rule', ['sequence_rule_id'], ['id']);
77
        }
78
79
        if (!$schema->hasTable('sequence_variable')) {
80
            $sequenceVariable = $schema->createTable('sequence_variable');
81
            $sequenceVariable->addColumn('id', Type::INTEGER)->setAutoincrement(true);
82
            $sequenceVariable->addColumn('name', Type::STRING)->setLength(255)->setNotnull(false);
83
            $sequenceVariable->addColumn('description', Type::TEXT)->setNotnull(false);
84
            $sequenceVariable->addColumn('default_val', Type::STRING)->setLength(255)->setNotnull(false);
85
            $sequenceVariable->setPrimaryKey(['id']);
86
        }
87
88
        if (!$schema->hasTable('sequence_formula')) {
89
            $sequenceFormula = $schema->createTable('sequence_formula');
90
            $sequenceFormula->addColumn('id', Type::INTEGER)->setAutoincrement(true);
91
            $sequenceFormula->addColumn('sequence_method_id', Type::INTEGER)->setNotnull(false);
92
            $sequenceFormula->addColumn('sequence_variable_id', Type::INTEGER)->setNotnull(false);
93
            $sequenceFormula->setPrimaryKey(['id']);
94
            $sequenceFormula->addIndex(['sequence_method_id']);
95
            $sequenceFormula->addIndex(['sequence_variable_id']);
96
            $sequenceFormula->addForeignKeyConstraint('sequence_variable', ['sequence_variable_id'], ['id']);
97
            $sequenceFormula->addForeignKeyConstraint('sequence_method', ['sequence_method_id'], ['id']);
98
        }
99
100
        if (!$schema->hasTable('sequence_valid')) {
101
            $sequenceValid = $schema->createTable('sequence_valid');
102
            $sequenceValid->addColumn('id', Type::INTEGER)->setAutoincrement(true);
103
            $sequenceValid->addColumn('sequence_variable_id', Type::INTEGER)->setNotnull(false);
104
            $sequenceValid->addColumn('sequence_condition_id', Type::INTEGER)->setNotnull(false);
105
            $sequenceValid->setPrimaryKey(['id']);
106
            $sequenceValid->addIndex(['sequence_variable_id']);
107
            $sequenceValid->addIndex(['sequence_condition_id']);
108
            $sequenceValid->addForeignKeyConstraint('sequence_condition', ['sequence_condition_id'], ['id']);
109
            $sequenceValid->addForeignKeyConstraint('sequence_variable', ['sequence_variable_id'], ['id']);
110
        }
111
112
        if (!$schema->hasTable('sequence_type_entity')) {
113
            $sequenceTypeEntity = $schema->createTable('sequence_type_entity');
114
            $sequenceTypeEntity->addColumn('id', Type::INTEGER)->setAutoincrement(true);
115
            $sequenceTypeEntity->addColumn('name', Type::STRING)->setLength(255);
116
            $sequenceTypeEntity->addColumn('description', Type::TEXT);
117
            $sequenceTypeEntity->addColumn('ent_table', Type::STRING)->setLength(255);
118
            $sequenceTypeEntity->setPrimaryKey(['id']);
119
        }
120
121
        if (!$schema->hasTable('sequence_row_entity')) {
122
            $sequenceRowEntity = $schema->createTable('sequence_row_entity');
123
            $sequenceRowEntity->addColumn('id', Type::INTEGER)->setAutoincrement(true);
124
            $sequenceRowEntity->addColumn('sequence_type_entity_id', Type::INTEGER)->setNotnull(false);
125
            $sequenceRowEntity->addColumn('c_id', Type::INTEGER);
126
            $sequenceRowEntity->addColumn('session_id', Type::INTEGER);
127
            $sequenceRowEntity->addColumn('row_id', Type::INTEGER);
128
            $sequenceRowEntity->addColumn('name', Type::STRING)->setLength(255);
129
            $sequenceRowEntity->setPrimaryKey(['id']);
130
            $sequenceRowEntity->addIndex(['sequence_type_entity_id']);
131
            $sequenceRowEntity->addForeignKeyConstraint('sequence_type_entity', ['sequence_type_entity_id'], ['id']);
132
        }
133
134
        if (!$schema->hasTable('sequence')) {
135
            $sequence = $schema->createTable('sequence');
136
            $sequence->addColumn('id', Type::INTEGER)->setAutoincrement(true);
137
            $sequence->addColumn('name', Type::STRING)->setLength(255);
138
            $sequence->addColumn('graph', Type::TEXT)->setNotnull(false);
139
            $sequence->addColumn('created_at', Type::DATETIME);
140
            $sequence->addColumn('updated_at', Type::DATETIME);
141
            $sequence->setPrimaryKey(['id']);
142
        }
143
144
        if (!$schema->hasTable('sequence_value')) {
145
            $sequenceValue = $schema->createTable('sequence_value');
146
            $sequenceValue->addColumn('id', Type::INTEGER)->setAutoincrement(true);
147
            $sequenceValue->addColumn('sequence_row_entity_id', Type::INTEGER)->setNotnull(false);
148
            $sequenceValue->addColumn('user_id', Type::INTEGER);
149
            $sequenceValue->addColumn('advance', Type::FLOAT);
150
            $sequenceValue->addColumn('complete_items', Type::INTEGER);
151
            $sequenceValue->addColumn('total_items', Type::INTEGER);
152
            $sequenceValue->addColumn('success', Type::BOOLEAN);
153
            $sequenceValue->addColumn('success_date', Type::DATETIME)->setNotnull(false);
154
            $sequenceValue->addColumn('available', Type::BOOLEAN);
155
            $sequenceValue->addColumn('available_start_date', Type::DATETIME)->setNotnull(false);
156
            $sequenceValue->addColumn('available_end_date', Type::DATETIME)->setNotnull(false);
157
            $sequenceValue->setPrimaryKey(['id']);
158
            $sequenceValue->addIndex(['sequence_row_entity_id']);
159
            $sequenceValue->addForeignKeyConstraint('sequence_row_entity', ['sequence_row_entity_id'], ['id']);
160
        }
161
162
        if (!$schema->hasTable('sequence_resource')) {
163
            $sequenceResource = $schema->createTable('sequence_resource');
164
            $sequenceResource->addColumn('id', Type::INTEGER)->setAutoincrement(true);
165
            $sequenceResource->addColumn('sequence_id', Type::INTEGER)->setNotnull(false);
166
            $sequenceResource->addColumn('type', Type::INTEGER);
167
            $sequenceResource->addColumn('resource_id', Type::INTEGER);
168
            $sequenceResource->setPrimaryKey(['id']);
169
            $sequenceResource->addIndex(['sequence_id']);
170
            $sequenceResource->addForeignKeyConstraint('sequence', ['sequence_id'], ['id']);
171
        }
172
    }
173
174
    /**
175
     * We don't allow downgrades yet
176
     * @param Schema $schema
177
     */
178
    public function down(Schema $schema)
179
    {
180
    }
181
}
182