Commit 19265dc6a8ba6571e2f379df69325c880d73f642

Authored by Volodymyr
1 parent e9653064

add tiles

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 +}
... ...