![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-catalog/Setup/Patch/Schema/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Catalog\Setup\Patch\Schema; use Magento\Framework\Setup\SchemaSetupInterface; use Magento\Framework\Setup\Patch\SchemaPatchInterface; /** * Class EnableSegmentation. * * @package Magento\Catalog\Setup\Patch\Schema */ class EnableSegmentation implements SchemaPatchInterface { /** * @var SchemaSetupInterface */ private $schemaSetup; /** * EnableSegmentation constructor. * * @param SchemaSetupInterface $schemaSetup */ public function __construct( SchemaSetupInterface $schemaSetup ) { $this->schemaSetup = $schemaSetup; } /** * {@inheritdoc} */ public function apply() { $this->schemaSetup->startSetup(); $setup = $this->schemaSetup; $storeSelect = $setup->getConnection()->select()->from($setup->getTable('store'))->where('store_id > 0'); foreach ($setup->getConnection()->fetchAll($storeSelect) as $store) { $indexTable = $setup->getTable('catalog_category_product_index') . '_' . \Magento\Store\Model\Store::ENTITY . $store['store_id']; if (!$setup->getConnection()->isTableExists($indexTable)) { $setup->getConnection()->createTable( $setup->getConnection()->createTableByDdl( $setup->getTable('catalog_category_product_index'), $indexTable ) ); } if (!$setup->getConnection()->isTableExists($indexTable . '_replica')) { $setup->getConnection()->createTable( $setup->getConnection()->createTableByDdl( $setup->getTable('catalog_category_product_index'), $indexTable . '_replica' ) ); } } $this->schemaSetup->endSetup(); } /** * {@inheritdoc} */ public static function getDependencies() { return []; } /** * {@inheritdoc} */ public function getAliases() { return []; } }