Test Failed
Push — master ( 741545...e25e21 )
by Julien
11:23
created

ValueMigration_100::up()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 0
c 0
b 0
f 0
dl 0
loc 2
ccs 0
cts 0
cp 0
rs 10
cc 1
nc 1
nop 0
crap 2
1
<?php 
2
3
use Phalcon\Db\Column;
4
use Phalcon\Db\Index;
5
use Phalcon\Db\Reference;
6
use Phalcon\Migrations\Mvc\Model\Migration;
7
8
/**
9
 * Class ValueMigration_100
10
 */
11
class ValueMigration_100 extends Migration
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
Coding Style introduced by
Class name "ValueMigration_100" is not in PascalCase format

Classes in PHP are usually named in CamelCase.

In camelCase names are written without any punctuation, the start of each new word being marked by a capital letter. The whole name starts with a capital letter as well.

Thus the name database provider becomes DatabaseProvider.

Loading history...
12
{
13
    /**
14
     * Define the table structure
15
     *
16
     * @return void
17
     */
18
    public function morph()
19
    {
20
        $this->morphTable('value', [
21
                'columns' => [
22
                    new Column(
23
                        'id',
24
                        [
25
                            'type' => Column::TYPE_INTEGER,
26
                            'unsigned' => true,
27
                            'notNull' => true,
28
                            'autoIncrement' => true,
29
                            'size' => 10,
30
                            'first' => true
31
                        ]
32
                    ),
33
                    new Column(
34
                        'workspace_id',
35
                        [
36
                            'type' => Column::TYPE_INTEGER,
37
                            'unsigned' => true,
38
                            'notNull' => true,
39
                            'size' => 10,
40
                            'after' => 'id'
41
                        ]
42
                    ),
43
                    new Column(
44
                        'project_id',
45
                        [
46
                            'type' => Column::TYPE_INTEGER,
47
                            'unsigned' => true,
48
                            'notNull' => true,
49
                            'size' => 10,
50
                            'after' => 'workspace_id'
51
                        ]
52
                    ),
53
                    new Column(
54
                        'locale_id',
55
                        [
56
                            'type' => Column::TYPE_INTEGER,
57
                            'unsigned' => true,
58
                            'notNull' => false,
59
                            'size' => 10,
60
                            'after' => 'project_id'
61
                        ]
62
                    ),
63
                    new Column(
64
                        'channel_id',
65
                        [
66
                            'type' => Column::TYPE_INTEGER,
67
                            'unsigned' => true,
68
                            'notNull' => true,
69
                            'size' => 10,
70
                            'after' => 'locale_id'
71
                        ]
72
                    ),
73
                    new Column(
74
                        'field_id',
75
                        [
76
                            'type' => Column::TYPE_INTEGER,
77
                            'unsigned' => true,
78
                            'notNull' => true,
79
                            'size' => 10,
80
                            'after' => 'channel_id'
81
                        ]
82
                    ),
83
                    new Column(
84
                        'value_int',
85
                        [
86
                            'type' => Column::TYPE_BIGINTEGER,
87
                            'notNull' => false,
88
                            'size' => 20,
89
                            'after' => 'field_id'
90
                        ]
91
                    ),
92
                    new Column(
93
                        'value_string',
94
                        [
95
                            'type' => Column::TYPE_VARCHAR,
96
                            'notNull' => false,
97
                            'size' => 191,
98
                            'after' => 'value_int'
99
                        ]
100
                    ),
101
                    new Column(
102
                        'value_text',
103
                        [
104
                            'type' => Column::TYPE_TEXT,
105
                            'notNull' => false,
106
                            'after' => 'value_string'
107
                        ]
108
                    ),
109
                    new Column(
110
                        'value_json',
111
                        [
112
                            'type' => Column::TYPE_TEXT,
113
                            'notNull' => false,
114
                            'after' => 'value_text'
115
                        ]
116
                    ),
117
                    new Column(
118
                        'value_date',
119
                        [
120
                            'type' => Column::TYPE_DATE,
121
                            'notNull' => false,
122
                            'after' => 'value_json'
123
                        ]
124
                    ),
125
                    new Column(
126
                        'value_datetime',
127
                        [
128
                            'type' => Column::TYPE_DATETIME,
129
                            'notNull' => false,
130
                            'after' => 'value_date'
131
                        ]
132
                    ),
133
                    new Column(
134
                        'value_datetime_end',
135
                        [
136
                            'type' => Column::TYPE_DATETIME,
137
                            'notNull' => false,
138
                            'after' => 'value_datetime'
139
                        ]
140
                    ),
141
                    new Column(
142
                        'value_timestamp',
143
                        [
144
                            'type' => Column::TYPE_TIMESTAMP,
145
                            'notNull' => false,
146
                            'after' => 'value_datetime_end'
147
                        ]
148
                    ),
149
                    new Column(
150
                        'value_binary',
151
                        [
152
                            'type' => Column::TYPE_VARCHAR,
153
                            'notNull' => false,
154
                            'size' => 1,
155
                            'after' => 'value_timestamp'
156
                        ]
157
                    ),
158
                    new Column(
159
                        'value_blob',
160
                        [
161
                            'type' => Column::TYPE_BLOB,
162
                            'notNull' => false,
163
                            'size' => 1,
164
                            'after' => 'value_binary'
165
                        ]
166
                    ),
167
                    new Column(
168
                        'meta',
169
                        [
170
                            'type' => Column::TYPE_TEXT,
171
                            'notNull' => false,
172
                            'after' => 'value_blob'
173
                        ]
174
                    ),
175
                    new Column(
176
                        'created_at',
177
                        [
178
                            'type' => Column::TYPE_DATETIME,
179
                            'default' => "current_timestamp()",
180
                            'notNull' => true,
181
                            'after' => 'meta'
182
                        ]
183
                    ),
184
                    new Column(
185
                        'updated_at',
186
                        [
187
                            'type' => Column::TYPE_DATETIME,
188
                            'notNull' => false,
189
                            'after' => 'created_at'
190
                        ]
191
                    ),
192
                    new Column(
193
                        'deleted_at',
194
                        [
195
                            'type' => Column::TYPE_DATETIME,
196
                            'notNull' => false,
197
                            'after' => 'updated_at'
198
                        ]
199
                    ),
200
                    new Column(
201
                        'generic',
202
                        [
203
                            'type' => Column::TYPE_TINYINTEGER,
204
                            'notNull' => false,
205
                            'size' => 1,
206
                            'after' => 'deleted_at'
207
                        ]
208
                    ),
209
                    new Column(
210
                        'deleted',
211
                        [
212
                            'type' => Column::TYPE_TINYINTEGER,
213
                            'default' => "0",
214
                            'unsigned' => true,
215
                            'notNull' => true,
216
                            'size' => 1,
217
                            'after' => 'generic'
218
                        ]
219
                    )
220
                ],
221
                'indexes' => [
222
                    new Index('PRIMARY', ['id'], 'PRIMARY'),
223
                    new Index('id_UNIQUE', ['id'], 'UNIQUE'),
224
                    new Index('value_workspace_id_fk_idx', ['workspace_id'], ''),
225
                    new Index('value_project_id_fk_idx', ['project_id'], ''),
226
                    new Index('value_channel_id_fk_idx', ['channel_id'], ''),
227
                    new Index('value_field_id_fk_idx', ['field_id'], ''),
228
                    new Index('value_locale_id_fk_idx', ['locale_id'], '')
229
                ],
230
                'references' => [
231
                    new Reference(
232
                        'value_channel_id_fk',
233
                        [
234
                            'referencedTable' => 'channel',
235
                            'referencedSchema' => 'zemit',
236
                            'columns' => ['channel_id'],
237
                            'referencedColumns' => ['id'],
238
                            'onUpdate' => 'CASCADE',
239
                            'onDelete' => 'CASCADE'
240
                        ]
241
                    ),
242
                    new Reference(
243
                        'value_field_id_fk',
244
                        [
245
                            'referencedTable' => 'field',
246
                            'referencedSchema' => 'zemit',
247
                            'columns' => ['field_id'],
248
                            'referencedColumns' => ['id'],
249
                            'onUpdate' => 'CASCADE',
250
                            'onDelete' => 'CASCADE'
251
                        ]
252
                    ),
253
                    new Reference(
254
                        'value_locale_id_fk',
255
                        [
256
                            'referencedTable' => 'locale',
257
                            'referencedSchema' => 'zemit',
258
                            'columns' => ['locale_id'],
259
                            'referencedColumns' => ['id'],
260
                            'onUpdate' => 'CASCADE',
261
                            'onDelete' => 'CASCADE'
262
                        ]
263
                    ),
264
                    new Reference(
265
                        'value_project_id_fk',
266
                        [
267
                            'referencedTable' => 'project',
268
                            'referencedSchema' => 'zemit',
269
                            'columns' => ['project_id'],
270
                            'referencedColumns' => ['id'],
271
                            'onUpdate' => 'CASCADE',
272
                            'onDelete' => 'CASCADE'
273
                        ]
274
                    ),
275
                    new Reference(
276
                        'value_workspace_id_fk',
277
                        [
278
                            'referencedTable' => 'workspace',
279
                            'referencedSchema' => 'zemit',
280
                            'columns' => ['workspace_id'],
281
                            'referencedColumns' => ['id'],
282
                            'onUpdate' => 'CASCADE',
283
                            'onDelete' => 'CASCADE'
284
                        ]
285
                    )
286
                ],
287
                'options' => [
288
                    'table_type' => 'BASE TABLE',
289
                    'auto_increment' => '',
290
                    'engine' => 'InnoDB',
291
                    'table_collation' => 'utf8mb4_general_ci'
292
                ],
293
            ]
294
        );
295
    }
296
297
    /**
298
     * Run the migrations
299
     *
300
     * @return void
301
     */
302
    public function up()
303
    {
304
305
    }
0 ignored issues
show
Coding Style introduced by
Function closing brace must go on the next line following the body; found 1 blank lines before brace
Loading history...
306
307
    /**
308
     * Reverse the migrations
309
     *
310
     * @return void
311
     */
312
    public function down()
313
    {
314
315
    }
0 ignored issues
show
Coding Style introduced by
Function closing brace must go on the next line following the body; found 1 blank lines before brace
Loading history...
316
317
}
318