Dlaczego funkcja Magento 2 `addForeignKey` nie ma opcji` onUpdate` i jak ją dodać podczas dodawania klucza obcego

10

Zacząłem od skryptów instalacyjnych Magento 2 i znalazłem jedną małą zmianę z addForeignKeyparametrami funkcji Magento . W Magento 1 argumenty funkcji są podobne do:

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

Istnieje opcja definiowania, co należy zrobić po aktualizacji wiersza tabeli,
do której istnieje odwołanie, natomiast w Magento 2 argumenty dla tej samej funkcji są następujące:

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

Usunęli onUpdateargument.
Czy ktoś ma pojęcie o tym, dlaczego to zrobił?
Czy ktoś może mi również wskazać, co mam zrobić, jeśli chcę dodać onUpdateakcję dla klucza obcego?

Jaimin Sutariya
źródło

Odpowiedzi:

2

Zgodnie z tym uznanym problemem Github , tak naprawdę jest to z założenia:

Cześć, jest to celowe ograniczenie, aby osiągnąć lepszą zgodność z innymi możliwymi silnikami baz danych. Możesz jednak zaimplementować działania takie jak „ON UPDATE” na poziomie aplikacji. W takim przypadku Twój kod będzie kompatybilny z Magento SPI (zdarzenia, przechwytywacze itp.).

Danny Nimmo
źródło