00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 $installer = $this;
00028
00029
00030 $installer->startSetup();
00031 $installer->addAttribute('catalog_product', 'media_gallery', array(
00032 'group' => 'Images',
00033 'label' => 'Media Gallery',
00034 'input' => 'gallery',
00035 'backend' => 'catalog/product_attribute_backend_media',
00036 'class' => '',
00037 'global' => true,
00038 'visible' => true,
00039 'required' => false,
00040 'user_defined' => false,
00041 'visible_on_front' => false
00042 )
00043 );
00044 $installer->run("
00045 DROP TABLE IF EXISTS `{$this->getTable('catalog_product_entity_media_gallery')}`;
00046 CREATE TABLE `{$this->getTable('catalog_product_entity_media_gallery')}` (
00047 `value_id` int(11) unsigned NOT NULL auto_increment,
00048 `entity_type_id` smallint(5) unsigned NOT NULL default '0',
00049 `attribute_id` smallint(5) unsigned NOT NULL default '0',
00050 `entity_id` int(10) unsigned NOT NULL default '0',
00051 `value` varchar(255) default NULL,
00052 PRIMARY KEY (`value_id`),
00053 KEY `FK_CATALOG_PRODUCT_MEDIA_GALLERY_ATTRIBUTE` (`attribute_id`),
00054 KEY `FK_CATALOG_PRODUCT_MEDIA_GALLERY_ENTITY` (`entity_id`),
00055 KEY `FK_CATALOG_PRODUCT_MEDIA_GALLERY_ENTITY_TYPE` (`entity_type_id`),
00056 CONSTRAINT `FK_CATALOG_PRODUCT_MEDIA_GALLERY_ATTRIBUTE` FOREIGN KEY (`attribute_id`) REFERENCES `{$this->getTable('eav_attribute')}` (`attribute_id`) ON DELETE CASCADE,
00057 CONSTRAINT `FK_CATALOG_PRODUCT_MEDIA_GALLERY_ENTITY` FOREIGN KEY (`entity_id`) REFERENCES `{$this->getTable('catalog_product_entity')}` (`entity_id`) ON DELETE CASCADE,
00058 CONSTRAINT `FK_CATALOG_PRODUCT_MEDIA_GALLERY_ENTITY_TYPE` FOREIGN KEY (`entity_type_id`) REFERENCES `{$this->getTable('eav_entity_type')}` (`entity_type_id`) ON DELETE CASCADE
00059 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog product media gallery';
00060
00061 DROP TABLE IF EXISTS `{$this->getTable('catalog_product_entity_media_gallery_value')}`;
00062 CREATE TABLE `{$this->getTable('catalog_product_entity_media_gallery_value')}` (
00063 `value_id` int(11) unsigned NOT NULL default '0',
00064 `store_id` smallint(5) unsigned NOT NULL default '0',
00065 `label` varchar(255) default NULL,
00066 `position` int(11) unsigned default NULL,
00067 `disabled` tinyint(1) unsigned NOT NULL default '0',
00068 PRIMARY KEY (`value_id`,`store_id`),
00069 KEY `FK_CATALOG_PRODUCT_MEDIA_GALLERY_VALUE_STORE` (`store_id`),
00070 CONSTRAINT `FK_CATALOG_PRODUCT_MEDIA_GALLERY_VALUE_GALLERY` FOREIGN KEY (`value_id`) REFERENCES `{$this->getTable('catalog_product_entity_media_gallery')}` (`value_id`) ON DELETE CASCADE,
00071 CONSTRAINT `FK_CATALOG_PRODUCT_MEDIA_GALLERY_VALUE_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core_store')}` (`store_id`) ON DELETE CASCADE
00072 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog product media gallery values';
00073
00074 DROP TABLE IF EXISTS `{$this->getTable('catalog_product_entity_media_gallery_image')}`;
00075 CREATE TABLE `{$this->getTable('catalog_product_entity_media_gallery_image')}` (
00076 `value_id` int(11) unsigned NOT NULL default '0',
00077 `store_id` smallint(5) unsigned NOT NULL default '0',
00078 `type` varchar(50) NOT NULL default '',
00079 PRIMARY KEY (`value_id`,`store_id`,`type`),
00080 CONSTRAINT `FK_CATALOG_PRODUCT_MEDIA_GALLERY_IMAGE_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core_store')}` (`store_id`) ON DELETE CASCADE,
00081 CONSTRAINT `FK_CATALOG_PRODUCT_MEDIA_GALLERY_IMAGE_GALLERY` FOREIGN KEY (`value_id`) REFERENCES `{$this->getTable('catalog_product_entity_media_gallery')}` (`value_id`) ON DELETE CASCADE
00082 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Catalog product media gallery images';
00083 ");
00084
00085 $installer->endSetup();