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