11 use Magento\Quote\Model\QuoteFactory;
12 use Magento\Sales\Model\OrderFactory;
13 use Magento\Sales\Model\ResourceModel\Order\Address\CollectionFactory as AddressCollectionFactory;
15 use Magento\Sales\Setup\SalesSetupFactory;
25 private $moduleDataSetup;
30 private $salesSetupFactory;
45 private $addressCollectionFactory;
50 private $orderFactory;
55 private $quoteFactory;
63 SalesSetupFactory $salesSetupFactory,
66 AddressCollectionFactory $addressCollectionFactory,
67 OrderFactory $orderFactory,
68 QuoteFactory $quoteFactory
70 $this->moduleDataSetup = $moduleDataSetup;
71 $this->salesSetupFactory = $salesSetupFactory;
72 $this->state = $state;
74 $this->addressCollectionFactory = $addressCollectionFactory;
75 $this->orderFactory = $orderFactory;
76 $this->quoteFactory = $quoteFactory;
84 $this->state->emulateAreaCode(
85 \
Magento\Backend\
App\Area\FrontNameResolver::AREA_CODE,
86 [$this,
'fillQuoteAddressIdInSalesOrderAddress'],
87 [$this->moduleDataSetup]
89 $this->eavConfig->clear();
99 $addressTable =
$setup->getTable(
'sales_order_address');
100 $updateOrderAddress =
$setup->getConnection()
103 [
'sales_order' =>
$setup->getTable(
'sales_order')],
104 $addressTable .
'.parent_id = sales_order.entity_id',
105 [
'quote_address_id' =>
'quote_address.address_id']
108 [
'quote_address' =>
$setup->getTable(
'quote_address')],
109 'sales_order.quote_id = quote_address.quote_id 110 AND ' . $addressTable .
'.address_type = quote_address.address_type',
114 $addressTable .
'.quote_address_id IS NULL' 116 $updateOrderAddress =
$setup->getConnection()->updateFromSelect(
120 $setup->getConnection()->query($updateOrderAddress);
129 ConvertSerializedDataToJson::class
__construct(ModuleDataSetupInterface $moduleDataSetup, SalesSetupFactory $salesSetupFactory, State $state, Config $eavConfig, AddressCollectionFactory $addressCollectionFactory, OrderFactory $orderFactory, QuoteFactory $quoteFactory)
fillQuoteAddressIdInSalesOrderAddress(ModuleDataSetupInterface $setup)