cms/block
les entités ont une table de jointure cms_block_store
, les enregistrements dans lesquels un bloc donné est lié à un ou plusieurs magasins. Avant CE 1.6, le modèle de ressource Mage_Cms_Model_Mysql4_Block
(lien) ne supprime pas séparément ces enregistrements avant la suppression de l'entité, en s'appuyant efficacement sur la cascade pour les supprimer. Depuis 1.6.0.0, le modèle de ressource déplacé supprime explicitement ces enregistrements dans Mage_Cms_Model_Resource_Block::_beforeDelete
(lien) avant que l'entité ne soit supprimée de cms_block
:
protected function _beforeDelete(Mage_Core_Model_Abstract $object)
{
$condition = array(
'block_id = ?' => (int) $object->getId(),
);
$this->_getWriteAdapter()->delete($this->getTable('cms/block_store'), $condition);
return parent::_beforeDelete($object);
}
Existe-t-il une raison apparente pour effectuer cette opération dans deux requêtes distinctes plutôt que de s'appuyer sur la cascade comme auparavant?