*/ /** * Since 1.13 new urls processing behaviour was introduced. * This tool creates URL redirects(301) for URLs that have been changed during upgrade. * Supplementary utility. */ require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'Migration.php'; if (count($argv) != 3 || !is_numeric($argv[1]) || !is_numeric($argv[2])) { echo "Wrong parameters passed."; exit(100); } error_reporting(-1); ini_set('display_errors', 1); ini_set('memory_limit', -1); $page = $argv[1]; $batchSize = $argv[2]; $response = new Mage_Core_Controller_Response_Http(); Mage::app()->setResponse($response); $migration = new Mage_Migration(); $rewriteRequest = Mage::getModel('enterprise_urlrewrite/url_rewrite_request'); $rewrite = Mage::getModel('enterprise_urlrewrite/url_rewrite'); $matchers = Mage::getSingleton('enterprise_urlrewrite/system_config_source_matcherPriority')->getRewriteMatchers(); $rewritesSelect = $migration->getConnection()->select()->from($migration->getResource()->getTableName('core_url_rewrite'), array('product_id', 'category_id', 'store_id', 'request_path'))->order('url_rewrite_id')->limit($batchSize, $page * $batchSize); foreach ($migration->getConnection()->fetchAll($rewritesSelect) as $rewriteInfo) { try { $migration->processRewrite($rewriteInfo, $rewriteRequest, $rewrite, $matchers, $migration->getResource()); } catch (Exception $e) { echo $e->getMessage() . "\n"; } } exit(0);
} if (isset($argv[1]) && intval($argv[1]) > 0) { $threadCount = intval($argv[1]); } else { $threadCount = 1; } $writer = new Zend_Log_Writer_Stream('php://output'); $writer->setFormatter(new Zend_Log_Formatter_Simple('[%priorityName%]: %message%' . PHP_EOL)); $logger = new Zend_Log($writer); $logger->info('Initialization...'); error_reporting(-1); ini_set('display_errors', 1); ini_set('memory_limit', -1); $response = new Mage_Core_Controller_Response_Http(); Mage::app()->setResponse($response); $migration = new Mage_Migration(); $processedCategories = array(); $processedProducts = array(); Mage::getModel('enterprise_mview/client')->init('enterprise_url_rewrite_category')->execute('enterprise_catalog/index_action_url_rewrite_category_refresh'); Mage::getModel('enterprise_mview/client')->init('enterprise_url_rewrite_product')->execute('enterprise_catalog/index_action_url_rewrite_product_refresh'); Mage::getModel('enterprise_mview/client')->init('enterprise_url_rewrite_redirect')->execute('enterprise_urlrewrite/index_action_url_rewrite_redirect_refresh'); $tableProducts = $migration->getConnection()->newTable($migration->getEntityMigrationTable(Mage_Migration::ENTITY_TYPE_PRODUCT))->addColumn('id', Varien_Db_Ddl_Table::TYPE_CHAR, 512); $tableCategories = $migration->getConnection()->newTable($migration->getEntityMigrationTable(Mage_Migration::ENTITY_TYPE_CATEGORY))->addColumn('id', Varien_Db_Ddl_Table::TYPE_CHAR, 512); if ($migration->getConnection()->isTableExists($tableProducts->getName())) { $migration->getConnection()->dropTable($tableProducts->getName()); } if ($migration->getConnection()->isTableExists($tableCategories->getName())) { $migration->getConnection()->dropTable($tableCategories->getName()); } $migration->getConnection()->createTable($tableProducts); $migration->getConnection()->createTable($tableCategories);