diff --git a/console/migrations/m211118_133144_create_tile_lang_table.php b/console/migrations/m211118_133144_create_tile_lang_table.php new file mode 100644 index 0000000..2758ad4 --- /dev/null +++ b/console/migrations/m211118_133144_create_tile_lang_table.php @@ -0,0 +1,101 @@ +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'); + } +} -- libgit2 0.21.4