Warum Magento 2 `addForeignKey` Funktion nicht` onUpdate` hat und wie man es beim Hinzufügen eines Fremdschlüssels hinzufügt

10

Ich habe mit Magento 2-Setup-Skripten begonnen und eine kleine Änderung an den addForeignKeyFunktionsparametern von Magento gefunden . In Magento 1 lauten die Argumente für die Funktion wie folgt:

public function addForeignKey($fkName, $column, $refTable, $refColumn, $onDelete = null, $onUpdate = null)

Es gibt eine Option zum Definieren, was beim Aktualisieren der referenzierten Tabellenzeile zu tun ist.
In Magento 2 lauten die Argumente für dieselbe Funktion wie folgt:

public function addForeignKey($fkName, $column, $refTable, $refColumn, $onDelete = null)

Sie haben onUpdateArgument entfernt.
Hat jemand eine Idee, warum sie das getan haben?
Kann mich auch jemand anleiten, was zu tun ist, wenn ich eine onUpdateAktion für einen Fremdschlüssel hinzufügen möchte ?

Jaimin Sutariya
quelle

Antworten:

2

Nach diesem anerkannten Github-Problem ist dies tatsächlich beabsichtigt:

Hallo, dies ist eine bewusste Einschränkung, um eine bessere Übereinstimmung mit anderen möglichen Datenbank-Engines zu erreichen. Sie können jedoch Aktionen wie "ON UPDATE" auf Anwendungsebene implementieren. In diesem Fall ist Ihr Code mit Magento SPI (Ereignisse, Abfangjäger usw.) kompatibel.

Danny Nimmo
quelle