12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\UrlRewrite\Setup\Patch\Data;
- use Magento\Framework\DB\FieldDataConverterFactory;
- use Magento\Framework\DB\DataConverter\SerializedToJson;
- use Magento\Framework\App\ResourceConnection;
- use Magento\Framework\Setup\Patch\DataPatchInterface;
- use Magento\Framework\Setup\Patch\PatchVersionInterface;
- /**
- * Class ConvertSerializedDataToJson
- * @package Magento\UrlRewrite\Setup\Patch
- */
- class ConvertSerializedDataToJson implements DataPatchInterface, PatchVersionInterface
- {
- /**
- * @var \Magento\Framework\Setup\ModuleDataSetupInterface
- */
- private $moduleDataSetup;
- /**
- * @var FieldDataConverterFactory
- */
- private $fieldDataConverterFactory;
- /**
- * ConvertSerializedDataToJson constructor.
- * @param \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup
- * @param FieldDataConverterFactory $fieldDataConverterFactory
- */
- public function __construct(
- \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup,
- FieldDataConverterFactory $fieldDataConverterFactory
- ) {
- $this->moduleDataSetup = $moduleDataSetup;
- $this->fieldDataConverterFactory = $fieldDataConverterFactory;
- }
- /**
- * {@inheritdoc}
- */
- public function apply()
- {
- $this->moduleDataSetup->getConnection()->startSetup();
- $this->convertSerializedDataToJson();
- $this->moduleDataSetup->getConnection()->endSetup();
- }
- /**
- * {@inheritdoc}
- */
- public static function getDependencies()
- {
- return [];
- }
- /**
- * {@inheritdoc}
- */
- public static function getVersion()
- {
- return '2.0.1';
- }
- /**
- * {@inheritdoc}
- */
- public function getAliases()
- {
- return [];
- }
- /**
- * Convert native php serialized data to json.
- */
- private function convertSerializedDataToJson()
- {
- $fieldDataConverter = $this->fieldDataConverterFactory->create(SerializedToJson::class);
- $fieldDataConverter->convert(
- $this->moduleDataSetup->getConnection(),
- $this->moduleDataSetup->getTable('url_rewrite'),
- 'url_rewrite_id',
- 'metadata'
- );
- }
- }
|