createTable('object_lang', [ 'object_id' => $this->integer()->notNull(), 'language_id' => $this->integer()->notNull(), 'alias_id' => $this->integer()->notNull()->unique(), 'upper_text' => $this->text(), 'about_object_text' => $this->text(), 'object_name' => $this->string(50), 'meta_title' => $this->string(300), 'meta_description' => $this->string(300), 'h1' => $this->string(50), ]); // creates index for column `object_id` $this->createIndex( 'idx-object_lang-object_id', 'object_lang', 'object_id' ); // add foreign key for table `object` $this->addForeignKey( 'fk-object_lang-object_id', 'object_lang', 'object_id', 'object', 'id', 'CASCADE' ); // creates index for column `language_id` $this->createIndex( 'idx-object_lang-language_id', 'object_lang', 'language_id' ); // add foreign key for table `language` $this->addForeignKey( 'fk-object_lang-language_id', 'object_lang', 'language_id', 'language', 'id', 'CASCADE' ); // creates index for column `alias_id` $this->createIndex( 'idx-object_lang-alias_id', 'object_lang', 'alias_id' ); // add foreign key for table `alias` $this->addForeignKey( 'fk-object_lang-alias_id', 'object_lang', 'alias_id', 'alias', 'id', 'CASCADE' ); // add double primary key $this->addPrimaryKey( "pk-object_lang-object_id-language_id", "object_lang", [ "object_id", "language_id", ] ); } /** * @inheritdoc */ public function down() { // drop double primary key $this->dropPrimaryKey( "pk-object_lang-object_id-language_id", "object_lang" ); // drops foreign key for table `object` $this->dropForeignKey( 'fk-object_lang-object_id', 'object_lang' ); // drops index for column `object_id` $this->dropIndex( 'idx-object_lang-object_id', 'object_lang' ); // drops foreign key for table `language` $this->dropForeignKey( 'fk-object_lang-language_id', 'object_lang' ); // drops index for column `language_id` $this->dropIndex( 'idx-object_lang-language_id', 'object_lang' ); // drops foreign key for table `alias` $this->dropForeignKey( 'fk-object_lang-alias_id', 'object_lang' ); // drops index for column `alias_id` $this->dropIndex( 'idx-object_lang-alias_id', 'object_lang' ); $this->dropTable('object_lang'); } }