hasTable('extra_field_rel_tag')) { $extraFieldRelTag = $schema->createTable('extra_field_rel_tag'); $extraFieldRelTag->addColumn( 'id', TableColumnType::INTEGER, ['unsigned' => true, 'autoincrement' => true, 'notnull' => true] ); $extraFieldRelTag->addColumn( 'field_id', TableColumnType::INTEGER, ['unsigned' => true, 'notnull' => true] ); $extraFieldRelTag->addColumn( 'item_id', TableColumnType::INTEGER, ['unsigned' => true, 'notnull' => true] ); $extraFieldRelTag->addColumn( 'tag_id', TableColumnType::INTEGER, ['unsigned' => true, 'notnull' => true] ); $extraFieldRelTag->setPrimaryKey(['id']); $extraFieldRelTag->addIndex( ['field_id'], 'idx_frt_field' ); $extraFieldRelTag->addIndex( ['item_id'], 'idx_frt_item' ); $extraFieldRelTag->addIndex( ['tag_id'], 'idx_frt_tag' ); $extraFieldRelTag->addIndex( ['field_id', 'item_id', 'tag_id'], 'idx_frt_field_item_tag' ); } } /** * @param Schema $schema */ public function down(Schema $schema) { $schema->dropTable('extra_field_rel_tag'); } }