Skip to content

Commit 39cbc85

Browse files
committed
MAGETWO-67092: Table salesrule_product_attribute is not populated when upgrading to 2.2
1 parent eef82fd commit 39cbc85

File tree

1 file changed

+10
-21
lines changed

1 file changed

+10
-21
lines changed

app/code/Magento/SalesRule/Setup/UpgradeData.php

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -144,32 +144,21 @@ public function convertSerializedDataToJson($setup)
144144
*/
145145
public function fillSalesRuleProductAttributeTable()
146146
{
147-
$ruleCollection = $this->getRuleColletion();
147+
/** @var ResourceModelRule\Collection $ruleCollection */
148+
$ruleCollection = $this->ruleColletionFactory->create();
148149
/** @var ModelRule $rule */
149150
foreach ($ruleCollection as $rule) {
150151
// Save product attributes used in rule
151-
$ruleProductAttributes = array_merge(
152-
$this->resourceModelRule->getProductAttributes(
153-
$this->serializer->serialize($rule->getConditions()->asArray())
154-
),
155-
$this->resourceModelRule->getProductAttributes(
156-
$this->serializer->serialize($rule->getActions()->asArray())
157-
)
158-
);
159-
if (count($ruleProductAttributes)) {
152+
$conditions = $rule->getConditions()->asArray();
153+
$actions = $rule->getActions()->asArray();
154+
$serializedConditions = $this->serializer->serialize($conditions);
155+
$serializedActions = $this->serializer->serialize($actions);
156+
$conditionAttributes = $this->resourceModelRule->getProductAttributes($serializedConditions);
157+
$actionAttributes = $this->resourceModelRule->getProductAttributes($serializedActions);
158+
$ruleProductAttributes = array_merge($conditionAttributes, $actionAttributes);
159+
if ($ruleProductAttributes) {
160160
$this->resourceModelRule->setActualProductAttributes($rule, $ruleProductAttributes);
161161
}
162162
}
163163
}
164-
165-
/**
166-
* Get sales rule collection.
167-
*
168-
* @deprecated
169-
* @return ResourceModelRule\Collection
170-
*/
171-
private function getRuleColletion()
172-
{
173-
return $this->ruleColletionFactory->create();
174-
}
175164
}

0 commit comments

Comments
 (0)