m211118_133144_create_tile_lang_table.php
2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
use yii\db\Migration;
/**
* Handles the creation of table `tile_lang`.
*/
class m211118_133144_create_tile_lang_table extends Migration
{
/**
* @inheritdoc
*/
public function up()
{
$this->createTable('tile_lang', [
'tile_id' => $this->integer()->notNull(),
'language_id' => $this->smallInteger()->notNull(),
'link' => $this->string(255),
'title' => $this->string(255),
]);
// creates index for column `tile_id`
$this->createIndex(
'idx-tile_lang-tile_id',
'tile_lang',
'tile_id'
);
// add foreign key for table `object`
$this->addForeignKey(
'fk-tile_lang-tile_id',
'tile_lang',
'tile_id',
'tile',
'id',
'CASCADE'
);
// creates index for column `language_id`
$this->createIndex(
'idx-tile_lang-language_id',
'tile_lang',
'language_id'
);
// add foreign key for table `language`
$this->addForeignKey(
'fk-tile_lang-language_id',
'tile_lang',
'language_id',
'language',
'id',
'CASCADE'
);
// add double primary key
$this->addPrimaryKey(
"pk-tile_lang-tile_id-language_id",
"tile_lang",
[
"tile_id",
"language_id",
]
);
}
/**
* @inheritdoc
*/
public function down()
{
// drop double primary key
$this->dropPrimaryKey(
"pk-tile_lang-tile_id-language_id",
"tile_lang"
);
// drops foreign key for table `tile`
$this->dropForeignKey(
'fk-tile_lang-tile_id',
'tile_lang'
);
// drops index for column `tile_id`
$this->dropIndex(
'idx-tile_lang-tile_id',
'tile_lang'
);
// drops foreign key for table `language`
$this->dropForeignKey(
'fk-tile_lang-language_id',
'tile_lang'
);
// drops index for column `language_id`
$this->dropIndex(
'idx-tile_lang-language_id',
'tile_lang'
);
$this->dropTable('tile_lang');
}
}