m161031_105334_create_screen_table::down()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
use yii\db\Migration;
4
5
/**
6
 * Handles the creation of table `screen`.
7
 */
8
// @codingStandardsIgnoreLine
9
class m161031_105334_create_screen_table extends Migration
10
{
11
    /**
12
     * {@inheritdoc}
13
     */
14
    public function up()
15
    {
16
        $tableOptions = null;
17
        if ($this->db->driverName === 'mysql') {
18
            $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
19
        }
20
21
        $this->createTable('screen', [
22
            'id' => $this->primaryKey()->notNull()->append('AUTO_INCREMENT'),
23
            'name' => $this->string(64)->notNull(),
24
            'description' => $this->string(1024),
25
            'template_id' => $this->integer()->notNull(),
26
            'duration' => $this->integer()->notNull()->defaultValue(60),
27
            'last_changes' => $this->timestamp()->notNull()->defaultExpression('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
28
        ], $tableOptions);
29
30
        $this->createIndex(
31
            'fk_screen_template1_idx',
32
            'screen',
33
            'template_id'
34
        );
35
36
        $this->addForeignKey(
37
            'fk_screen_template1',
38
            'screen',
39
            'template_id',
40
            'screen_template',
41
            'id',
42
            'CASCADE',
43
            'CASCADE'
44
        );
45
    }
46
47
    /**
48
     * {@inheritdoc}
49
     */
50
    public function down()
51
    {
52
        $this->dropTable('screen');
53
    }
54
}
55