1
cms / blockエンティティの場合、下位データがcms_page_storeから明示的に削除されるのはなぜですか?
cms/blockエンティティには結合テーブルcms_block_storeがあります。これは、特定のブロックを1つ以上のストアにリンクするレコードです。CE 1.6 より前は、エンティティが削除される前にリソースモデルMage_Cms_Model_Mysql4_Block(リンク)がこれらのレコードを個別に削除することはなく、カスケードを使用してレコードを効果的に削除していました。1.6.0.0以降、再配置されたリソースモデルは、エンティティがから削除される前にMage_Cms_Model_Resource_Block::_beforeDelete(リンク) 内のこれらのレコードを明示的に削除します。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); } 以前のようにカスケードに依存するのではなく、2つの別々のクエリでこの操作を実行する明らかな理由はありますか?