Skip to content

Commit 87cb1e6

Browse files
author
Oleksandr Iegorov
committed
MAGETWO-97566: Unable to run setup:db-declaration:generate-whitelist
1 parent 2f30dde commit 87cb1e6

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

app/code/Magento/Developer/Model/Setup/Declaration/Schema/WhitelistGenerator.php

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -206,20 +206,25 @@ private function getElementsWithAutogeneratedName(Schema $schema, string $tableN
206206
foreach ($tableData[$elementType] as $tableElementData) {
207207
if ($tableElementData['type'] === 'foreign') {
208208
$referenceTable = $schema->getTableByName($tableElementData['referenceTable']);
209-
$constraintName = $this->elementNameResolver->getFullFKName(
210-
$table,
211-
$table->getColumnByName($tableElementData['column']),
212-
$referenceTable,
213-
$referenceTable->getColumnByName($tableElementData['referenceColumn'])
214-
);
209+
$column = $table->getColumnByName($tableElementData['column']);
210+
$referenceColumn = $referenceTable->getColumnByName($tableElementData['referenceColumn']);
211+
$constraintName = ($column !== false && $referenceColumn !== false) ?
212+
$this->elementNameResolver->getFullFKName(
213+
$table,
214+
$column,
215+
$referenceTable,
216+
$referenceColumn
217+
) : null;
215218
} else {
216219
$constraintName = $this->elementNameResolver->getFullIndexName(
217220
$table,
218221
$tableElementData['column'],
219222
$tableElementData['type']
220223
);
221224
}
222-
$declaredStructure[$elementType][$constraintName] = true;
225+
if ($constraintName) {
226+
$declaredStructure[$elementType][$constraintName] = true;
227+
}
223228
}
224229
}
225230

0 commit comments

Comments
 (0)