moduleDataSetup = $moduleDataSetup; $this->queryModifierFactory = $queryModifierFactory; $this->aggregatedFieldDataConverter = $aggregatedFieldDataConverter; } /** * {@inheritdoc} */ public function apply() { $this->convertSerializedData(); } /** * {@inheritdoc} */ public static function getDependencies() { return [UpgradeModelInstanceClassAliases::class]; } /** * {@inheritdoc} */ public static function getVersion() { return '2.0.1'; } /** * {@inheritdoc} */ public function getAliases() { return []; } /** * Convert native serialized data to json. */ private function convertSerializedData() { $layoutUpdateQueryModifier = $this->queryModifierFactory->create( 'like', [ 'values' => [ 'xml' => '%conditions_encoded%' ] ] ); $this->aggregatedFieldDataConverter->convert( [ new FieldToConvert( SerializedToJson::class, $this->moduleDataSetup->getTable('widget_instance'), 'instance_id', 'widget_parameters' ), new FieldToConvert( LayoutUpdateConverter::class, $this->moduleDataSetup->getTable('layout_update'), 'layout_update_id', 'xml', $layoutUpdateQueryModifier ), ], $this->moduleDataSetup->getConnection() ); } }