cms/block
As entidades têm uma tabela de junção cms_block_store
, os registros nos quais vinculam um determinado bloco a uma ou mais lojas. Antes do CE 1.6, o modelo de recurso Mage_Cms_Model_Mysql4_Block
(link) não remove esses registros separadamente antes que a entidade seja excluída, contando com a cascata para removê-los. A partir de 1.6.0.0, o modelo de recursos realocado remove explicitamente esses registros em Mage_Cms_Model_Resource_Block::_beforeDelete
(link) antes que a entidade seja excluída 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 uma razão aparente para executar essa operação em duas consultas separadas, em vez de confiar na cascata como antes?