Blame view

console/migrations/m211118_133144_create_tile_lang_table.php 2.38 KB
19265dc6   Volodymyr   add tiles
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');
      }
  }