'FK_PRODUCT_ORDERED_AGGREGATED_%s_STORE_ID', 'column' => 'store_id', 'refTable' => 'core/store', 'refColumn' => 'store_id' ), array( 'name' => 'FK_PRODUCT_ORDERED_AGGREGATED_%s_PRODUCT_ID', 'column' => 'product_id', 'refTable' => 'catalog/product', 'refColumn' => 'entity_id' ) ); /* * Alter foreign keys to add 'CASCADE' instead of 'SET_NULL' action * Also remove all wrong report records with NULL in 'product_id' field */ $connection = $installer->getConnection(); foreach ($frequencies as $frequency) { $tableName = $installer->getTable('sales/bestsellers_aggregated_' . $frequency); foreach ($foreignKeys as $fkInfo) { $connection->addConstraint( sprintf($fkInfo['name'], strtoupper($frequency)), $tableName, $fkInfo['column'], $installer->getTable($fkInfo['refTable']), $fkInfo['refColumn'] ); } $connection->delete($tableName, 'product_id IS NULL'); }