cms/block
le entità hanno una tabella di join cms_block_store
, i record in cui collegano un determinato blocco a uno o più negozi. Prima di CE 1.6, il modello di risorsa Mage_Cms_Model_Mysql4_Block
(collegamento) non rimuoveva separatamente questi record prima che l'entità venisse eliminata, facendo affidamento sulla cascata per rimuoverli. A partire dalla 1.6.0.0, il modello di risorsa trasferito rimuove esplicitamente questi record in Mage_Cms_Model_Resource_Block::_beforeDelete
(collegamento) prima che l'entità venga eliminata da 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);
}
C'è una ragione apparente per eseguire questa operazione in due query separate anziché fare affidamento sulla cascata come prima?