createTable( 'variant_lang', [ 'variant_id' => $this->integer(32) ->notNull(), 'language_id' => $this->integer(32) ->notNull(), 'title' => $this->string(255) ->notNull(), 'alias_id' => $this->integer(), 'description' => $this->text(), ] ); $this->createIndex('variant_lang_alias_id', 'variant_lang', 'alias_id', true); $this->addPrimaryKey( 'variant_lang_pk', 'variant_lang', [ 'variant_id', 'language_id', ] ); $this->addForeignKey( 'variant_lang_variant_id_to_variant_fk', 'variant_lang', 'variant_id', 'variant', 'id', 'CASCADE', 'CASCADE' ); $this->addForeignKey( 'variant_lang_language_id_to_language_fk', 'variant_lang', 'language_id', 'language', 'id', 'RESTRICT', 'CASCADE' ); $this->addForeignKey( 'variant_lang_alias_id_to_alias_fk', 'variant_lang', 'alias_id', 'alias', 'id', 'SET NULL', 'CASCADE' ); } public function safeDown() { $this->dropForeignKey( 'variant_lang_alias_id_to_alias_fk', 'variant_lang' ); $this->dropForeignKey( 'variant_lang_language_id_to_language_fk', 'variant_lang' ); $this->dropForeignKey( 'variant_lang_variant_id_to_variant_fk', 'variant_lang' ); $this->dropIndex('variant_lang_alias_id', 'variant_lang'); $this->dropTable('variant_lang'); } }