InitializeAttributeModels.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Eav\Setup\Patch\Data;
  7. use Magento\Eav\Setup\EavSetupFactory;
  8. use Magento\Framework\Setup\ModuleDataSetupInterface;
  9. use Magento\Framework\App\ResourceConnection;
  10. use Magento\Framework\Setup\Patch\DataPatchInterface;
  11. use Magento\Framework\Setup\Patch\PatchVersionInterface;
  12. /**
  13. * Class InitializeAttributeModels
  14. * @package Magento\Eav\Setup\Patch
  15. */
  16. class InitializeAttributeModels implements DataPatchInterface, PatchVersionInterface
  17. {
  18. /**
  19. * @var \Magento\Framework\Setup\ModuleDataSetupInterface
  20. */
  21. private $moduleDataSetup;
  22. /**
  23. * @var EavSetupFactory
  24. */
  25. private $eavSetupFactory;
  26. /**
  27. * InitializeAttributeModels constructor.
  28. * @param \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup
  29. * @param ModuleDataSetupInterface $moduleDataSetup
  30. * @param EavSetupFactory $eavSetupFactory
  31. */
  32. public function __construct(
  33. \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup,
  34. EavSetupFactory $eavSetupFactory
  35. ) {
  36. $this->eavSetupFactory = $eavSetupFactory;
  37. $this->moduleDataSetup = $moduleDataSetup;
  38. }
  39. /**
  40. * {@inheritdoc}
  41. */
  42. public function apply()
  43. {
  44. $this->moduleDataSetup->startSetup();
  45. /** @var \Magento\Framework\Module\Setup\Migration $migrationSetup */
  46. $migrationSetup = $this->moduleDataSetup->createMigrationSetup();
  47. $migrationSetup->appendClassAliasReplace(
  48. 'eav_attribute',
  49. 'attribute_model',
  50. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_MODEL,
  51. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  52. ['attribute_id']
  53. );
  54. $migrationSetup->appendClassAliasReplace(
  55. 'eav_attribute',
  56. 'backend_model',
  57. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_MODEL,
  58. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  59. ['attribute_id']
  60. );
  61. $migrationSetup->appendClassAliasReplace(
  62. 'eav_attribute',
  63. 'frontend_model',
  64. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_MODEL,
  65. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  66. ['attribute_id']
  67. );
  68. $migrationSetup->appendClassAliasReplace(
  69. 'eav_attribute',
  70. 'source_model',
  71. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_MODEL,
  72. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  73. ['attribute_id']
  74. );
  75. $migrationSetup->appendClassAliasReplace(
  76. 'eav_entity_type',
  77. 'entity_model',
  78. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_MODEL,
  79. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  80. ['entity_type_id']
  81. );
  82. $migrationSetup->appendClassAliasReplace(
  83. 'eav_entity_type',
  84. 'attribute_model',
  85. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_MODEL,
  86. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  87. ['entity_type_id']
  88. );
  89. $migrationSetup->appendClassAliasReplace(
  90. 'eav_entity_type',
  91. 'increment_model',
  92. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_MODEL,
  93. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  94. ['entity_type_id']
  95. );
  96. $migrationSetup->appendClassAliasReplace(
  97. 'eav_entity_type',
  98. 'entity_attribute_collection',
  99. \Magento\Framework\Module\Setup\Migration::ENTITY_TYPE_RESOURCE,
  100. \Magento\Framework\Module\Setup\Migration::FIELD_CONTENT_TYPE_PLAIN,
  101. ['entity_type_id']
  102. );
  103. $migrationSetup->doUpdateClassAliases();
  104. /** @var \Magento\Eav\Setup\EavSetup $eavSetup */
  105. $eavSetup = $this->eavSetupFactory->create([
  106. 'setup' => $this->moduleDataSetup
  107. ]);
  108. $groups = $eavSetup->getAttributeGroupCollectionFactory();
  109. foreach ($groups as $group) {
  110. /** @var $group \Magento\Eav\Model\Entity\Attribute\Group*/
  111. $group->save();
  112. }
  113. $this->moduleDataSetup->endSetup();
  114. }
  115. /**
  116. * {@inheritdoc}
  117. */
  118. public static function getDependencies()
  119. {
  120. return [];
  121. }
  122. /**
  123. * {@inheritdoc}
  124. */
  125. public static function getVersion()
  126. {
  127. return '2.0.0';
  128. }
  129. /**
  130. * {@inheritdoc}
  131. */
  132. public function getAliases()
  133. {
  134. return [];
  135. }
  136. }