Почему в функции Magento 2 `addForeignKey` нет` onUpdate` и как ее добавить при добавлении внешнего ключа

10

Я начал со сценариев установки Magento 2 и обнаружил одно небольшое изменение в addForeignKeyпараметрах функций Magento . В Magento 1 аргументы для функции похожи,

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

Существует опция для определения того, что делать при обновлении строки таблицы, на которую есть ссылка, в
то время как в Magento 2 аргументы для той же функции выглядят так:

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

У них есть onUpdateаргумент удаления .
Кто-нибудь имеет представление о том, почему они это сделали?
Также кто-нибудь может подсказать мне, что делать, если я хочу добавить onUpdateдействие для внешнего ключа?

Джаймин Сутария
источник

Ответы:

2

Согласно этой общепризнанной проблеме Github , это на самом деле задумано:

Привет, это намеренное ограничение для достижения лучшего соответствия с другими возможными ядрами базы данных. Но вы можете реализовать такие действия, как «ОБНОВЛЕНИЕ» на уровне приложения. В этом случае ваш код будет совместим с Magento SPI (события, перехватчики и т. Д.).

Дэнни Ниммо
источник