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?

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.).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.