startSetup(); $installer->run(" CREATE TABLE `{$installer->getTable('salesrule')}` ( `rule_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `description` text NOT NULL, `from_date` date DEFAULT '0000-00-00', `to_date` date DEFAULT '0000-00-00', `coupon_code` varchar(255) DEFAULT NULL, `uses_per_coupon` int(11) NOT NULL DEFAULT '0', `uses_per_customer` int(11) NOT NULL DEFAULT '0', `customer_group_ids` varchar(255) NOT NULL DEFAULT '', `is_active` tinyint(1) NOT NULL DEFAULT '0', `conditions_serialized` mediumtext NOT NULL, `actions_serialized` mediumtext NOT NULL, `stop_rules_processing` tinyint(1) NOT NULL DEFAULT '1', `is_advanced` tinyint(3) unsigned NOT NULL DEFAULT '1', `product_ids` text, `sort_order` int(10) unsigned NOT NULL DEFAULT '0', `simple_action` varchar(32) NOT NULL DEFAULT '', `discount_amount` decimal(12,4) NOT NULL DEFAULT '0.0000', `discount_qty` decimal(12,4) unsigned DEFAULT NULL, `discount_step` int(10) unsigned NOT NULL, `simple_free_shipping` tinyint(1) unsigned NOT NULL DEFAULT '0', `apply_to_shipping` tinyint(1) unsigned NOT NULL DEFAULT '0', `times_used` int(11) unsigned NOT NULL DEFAULT '0', `is_rss` tinyint(4) NOT NULL DEFAULT '0', `website_ids` text, PRIMARY KEY (`rule_id`), KEY `sort_order` (`is_active`,`sort_order`,`to_date`,`from_date`) ) ENGINE=InnoDB AUTO_INCREMENT=125 DEFAULT CHARSET=utf8; CREATE TABLE `{$installer->getTable('salesrule_customer')}` ( `rule_customer_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `rule_id` int(10) unsigned NOT NULL DEFAULT '0', `customer_id` int(10) unsigned NOT NULL DEFAULT '0', `times_used` smallint(11) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`rule_customer_id`), KEY `rule_id` (`rule_id`, `customer_id`), KEY `customer_id` (`customer_id`, `rule_id`), CONSTRAINT `FK_salesrule_customer_id` FOREIGN KEY (`customer_id`) REFERENCES `{$installer->getTable('customer_entity')}` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_salesrule_customer_rule` FOREIGN KEY (`rule_id`) REFERENCES `{$installer->getTable('salesrule')}` (`rule_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8; CREATE TABLE `{$installer->getTable('salesrule_label')}` ( `label_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `rule_id` int(10) unsigned NOT NULL, `store_id` smallint(5) unsigned NOT NULL, `label` varchar(255) DEFAULT NULL, PRIMARY KEY (`label_id`), UNIQUE KEY `IDX_RULE_STORE` (`rule_id`,`store_id`), KEY `FK_SALESRULE_LABEL_STORE` (`store_id`), KEY `FK_SALESRULE_LABEL_RULE` (`rule_id`), CONSTRAINT `FK_SALESRULE_LABEL_RULE` FOREIGN KEY (`rule_id`) REFERENCES `{$installer->getTable('salesrule')}` (`rule_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_SALESRULE_LABEL_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$installer->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `{$installer->getTable('coupon_aggregated')}` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `period` date NOT NULL DEFAULT '0000-00-00', `store_id` smallint(5) unsigned DEFAULT NULL, `order_status` varchar(50) NOT NULL DEFAULT '', `coupon_code` varchar(50) NOT NULL DEFAULT '', `coupon_uses` int(11) NOT NULL DEFAULT '0', `subtotal_amount` decimal(12,4) NOT NULL DEFAULT '0.0000', `discount_amount` decimal(12,4) NOT NULL DEFAULT '0.0000', `total_amount` decimal(12,4) NOT NULL DEFAULT '0.0000', PRIMARY KEY (`id`), UNIQUE KEY `UNQ_COUPON_AGGREGATED_PSOC` (`period`,`store_id`,`order_status`,`coupon_code`), KEY `IDX_STORE_ID` (`store_id`), CONSTRAINT `FK_SALESTRULE_COUPON_AGGREGATED_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$installer->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `{$installer->getTable('coupon_aggregated_order')}` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `period` date NOT NULL DEFAULT '0000-00-00', `store_id` smallint(5) unsigned DEFAULT NULL, `order_status` varchar(50) NOT NULL DEFAULT '', `coupon_code` varchar(50) NOT NULL DEFAULT '', `coupon_uses` int(11) NOT NULL DEFAULT '0', `subtotal_amount` decimal(12,4) NOT NULL DEFAULT '0.0000', `discount_amount` decimal(12,4) NOT NULL DEFAULT '0.0000', `total_amount` decimal(12,4) NOT NULL DEFAULT '0.0000', PRIMARY KEY (`id`), UNIQUE KEY `UNQ_COUPON_AGGREGATED_ORDER_PSOC` (`period`,`store_id`,`order_status`,`coupon_code`), KEY `IDX_STORE_ID` (`store_id`), CONSTRAINT `FK_SALESTRULE_COUPON_AGGREGATED_ORDER_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$installer->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; "); /** * add attributes discount_description, shipping_discount_amount, base_shipping_discount_amount */ $installer->addAttribute('quote_address', 'discount_description', array('type'=>'varchar')); $installer->addAttribute('quote_address', 'shipping_discount_amount', array('type'=>'decimal')); $installer->addAttribute('quote_address', 'base_shipping_discount_amount', array('type'=>'decimal')); $installer->addAttribute('order', 'discount_description', array('type'=>'varchar')); $installer->addAttribute('order', 'shipping_discount_amount', array('type'=>'decimal')); $installer->addAttribute('order', 'base_shipping_discount_amount', array('type'=>'decimal')); $installer->endSetup();